Diccionario
Echemos un vistazo a otro tipo de datos compuestos de Python, llamado diccionario, que es similar a una lista en el sentido de que es una colección de objetos.
Los diccionarios y listas tienen las siguientes características:
- ambos son mutables;
- ambos son dinámicos (pueden crecer y reducirse según sea necesario);
- ambos se pueden anidar (una lista puede contener otra lista, un diccionario puede contener otro diccionario, un diccionario también puede contener una lista y viceversa).
Los diccionarios se diferencian de las listas principalmente en cómo se accede a los elementos:
- se accede a los elementos de la lista por su posición en la lista a través de la indexación;
- Se accede a los elementos del diccionario mediante teclas.
Los diccionarios son una estructura de datos implementada en Python, mejor conocida como matriz asociativa. Un diccionario consta de un conjunto de pares clave-valor. Cada par clave-valor asigna la clave al valor correspondiente.
Crear un diccionario
Puede definir un diccionario encerrando una lista de pares clave-valor separados por comas entre llaves ( {} ). Los dos puntos ( : ) separan cada clave de su valor asociado:
re = {
<clave>: <valor>,
<clave>: <valor>,
.
.
.
<clave>: <valor>
}
Puede crear un diccionario con la función incorporada dict() . El argumento dict() debe ser una secuencia de pares clave-valor . Una lista de tuplas funciona bien para esto:
d = dictado ([
(<clave>, <valor>),
(<clave>, <valor),
.
.
.
(<clave>, <valor>)
])
Puede mostrar el contenido de la lista en la pantalla simplemente con el comando print() . Las entradas en el diccionario se muestran en el orden en que fueron creadas.
|
Acceder a los elementos del diccionario
Para trabajar con los elementos de un diccionario, deben ser accesibles de alguna manera. Si no puede obtenerlos por índice, ¿cómo puede obtenerlos?
El valor se recupera del diccionario especificando la clave correspondiente entre corchetes ( []).
Por ejemplo, mostrando la capital de Abjasia del diccionario creado en la tarea anterior:
print(dict_country['Abjasia'])
Si hace referencia a una clave que no está en el diccionario, Python lanza una excepción:
print(dict_country['Rusia'])
Rastreo (última llamada más reciente):< /span> Archivo "<...>", línea ..., en <módulo>
imprimir(dict_country[& #39;Rusia'])
KeyError: 'Rusia' ;
Agregar elementos al diccionario
Agregar una entrada a un diccionario existente es tan simple como asignar una nueva clave y valor:
dict_country['Rusia'] = 'Moscú'
Actualizar una entrada de diccionario
Si desea actualizar una entrada, simplemente puede asignar un nuevo valor a una clave existente:
dict_country['Rusia'] = 'Moscú'
Eliminar entrada del diccionario
Para eliminar una entrada, use el operador del , especificando la clave para eliminar:
del dict_país[<clave>]
Si bien el acceso a los elementos en un diccionario es independiente del orden, Python garantiza que se conserve el orden de los elementos en un diccionario. Cuando se muestren, los elementos se mostrarán en el orden en que fueron definidos, y las claves también se repetirán en ese orden. Los elementos agregados al diccionario se agregan al final. Si se eliminan elementos, se conserva el orden de los elementos restantes.
Cabe recordar que las claves del diccionario, así como los elementos del diccionario, pueden ser de diferentes tipos. Un diccionario también puede tener el siguiente contenido:
d = {42: [2, 3, 6, 7], 2,78: 'bbb', Verdadero: 1}
print(d[42][1]) # 3 - para acceder a elementos anidados, use una clave o índice adicional
|
Métodos de diccionario integrados
Algunos de los métodos que aprendió sobre cadenas, listas y tuplas también funcionan con diccionarios. Por ejemplo, el método in (o not in ) le permite determinar si existe una clave particular en el diccionario.
Y también te permite recorrer todas las claves del diccionario.
para clave en dict_country:
imprimir (clave)
También puede iterar sobre pares clave-valor usando el método items() .
para clave, valor en dict_country.items():
imprimir(clave, valor)
En la tabla se enumeran otros métodos comúnmente utilizados.
Nombre |
Método |
Descripción (ejemplo) |
tamaño del diccionario |
len() |
devuelve el número de elementos del diccionario
len(dict_país)
|
actualización del diccionario |
actualizar() |
le permite actualizar varios pares de diccionarios a la vez
dict_country.update({'Rusia': 'Moscú', 'Armenia': 'Ereván'}) < /pre>
|
obtener valor por clave |
get() |
le permite obtener el valor mediante la clave especificada. Se puede usar para verificar si existe una clave en particular en un diccionario
dict_country.get('Rusia') # devuelve el valor por clave,
# si no existe tal clave, devolverá Ninguno
dict_country.get('Russa', 0) # si no hay clave de Rusia, devolverá 0
# (en lugar de 0, puede establecer cualquier valor
|
eliminar clave |
pop() |
El método pop() elimina una clave y devuelve su valor correspondiente.
dict_country.pop('Bahamas')
|
teclas de diccionario |
teclas() |
El método keys() devuelve una colección de claves en un diccionario.
dict_país.keys()
|
valores del diccionario |
valores() |
El Method values() devuelve una colección de valores en un diccionario.
dict_país.valores()
|
pares de diccionarios |
elementos() |
El método items() devuelve una colección de valores en un diccionario.
dict_país.items()
|
|