Python Diccionario (Dictionary)
El diccionario es otro modelo de contenedor mutable que puede almacenar objetos de cualquier tipo.
Cada par clave-valor del diccionariokey:valuese separa con dos puntos:cada par clave-valor se separa con comas,todo el diccionario se incluye entre llaves{}y el formato es el siguiente:
Nota:dictComo Python tiene palabras clave y funciones integradas, no se recomienda nombrar variables con esos nombres.dict。
Las claves generalmente son únicas; si se repite una, el último par clave-valor reemplazará al anterior. Los valores no necesitan ser únicos.
>>> tinydict['b']
'3'
>>> tinydict
{'a': 1, 'b': '3'}
Los valores pueden ser de cualquier tipo de datos, pero las claves deben ser inmutables, como cadenas, números o tuplas.
Un ejemplo sencillo de diccionario:
También se puede crear un diccionario de esta manera:
Acceder a los valores del diccionario
Coloque la clave correspondiente entre los familiares corchetes, como en el siguiente ejemplo:
Ejemplo
El resultado del ejemplo anterior es:
tinydict['Name']: Zara tinydict['Age']: 7
Si se accede a datos con una clave que no está en el diccionario, se mostrará un error como el siguiente:
Ejemplo
El resultado del ejemplo anterior es:
tinydict['Alice']:
Traceback (most recent call last):
File "test.py", line 5, in <module>
print "tinydict['Alice']: ", tinydict['Alice']
KeyError: 'Alice'
Modificar el diccionario
La forma de agregar nuevo contenido al diccionario es añadir nuevos pares clave/valor, modificar o eliminar pares existentes, como en el siguiente ejemplo:
Ejemplo
tinydict['Age']: 8 tinydict['School']: EJEMPLO
Eliminar elementos del diccionario
Se puede eliminar un solo elemento o vaciar el diccionario; para vaciarlo solo se necesita una operación.
Eliminar explícitamente un diccionario se hace con el comando del, como en el siguiente ejemplo:
Ejemplo
Pero esto provocará una excepción, porque después de usar del el diccionario ya no existe:
tinydict['Age']:
Traceback (most recent call last):
File "test.py", line 10, in <module>
print "tinydict['Age']: ", tinydict['Age']
NameError: name 'tinydict' is not defined
Nota:El método del() también se discutirá más adelante.
Características de las claves del diccionario
Los valores del diccionario pueden ser cualquier objeto de Python sin restricciones, ya sean objetos estándar o definidos por el usuario, pero las claves no.
Dos puntos importantes que recordar:
1) No se permite que la misma clave aparezca dos veces. Si al crear el diccionario la misma clave recibe un valor dos veces, se conservará el último valor, como en el siguiente ejemplo:
Ejemplo
El resultado del ejemplo anterior es:
tinydict['Name']: Manni
2) Las claves deben ser inmutables, por lo que pueden ser números, cadenas o tuplas; por eso una lista no es válida, como en el siguiente ejemplo:
Ejemplo
El resultado del ejemplo anterior es:
Traceback (most recent call last):
File "test.py", line 3, in <module>
tinydict = {['Name']: 'Zara', 'Age': 7}
TypeError: unhashable type: 'list'
Funciones y métodos incorporados del diccionario
El diccionario de Python incluye las siguientes funciones incorporadas:
| N.º | Función y descripción |
|---|---|
| 1 | cmp(dict1, dict2) Compara dos elementos del diccionario. |
| 2 | len(dict) Calcula el número de elementos del diccionario, es decir, el total de claves. |
| 3 | str(dict) Devuelve una representación imprimible en cadena del diccionario. |
| 4 | type(variable) Devuelve el tipo de variable de entrada; si la variable es un diccionario, devuelve el tipo diccionario. |
El diccionario de Python incluye los siguientes métodos incorporados:
| N.º | Función y descripción |
|---|---|
| 1 | dict.clear() Elimina todos los elementos del diccionario. |
| 2 | dict.copy() Devuelve una copia superficial del diccionario. |
| 3 | dict.fromkeys(seq[, val]) Crea un nuevo diccionario usando los elementos de la secuencia seq como claves y val como valor inicial para todas las claves. |
| 4 | dict.get(key, default=None) Devuelve el valor de la clave especificada; si la clave no está en el diccionario, devuelve el valor default. |
| 5 | dict.has_key(key) Devuelve true si la clave está en el diccionario dict; de lo contrario, devuelve false.Python3 no lo admite. |
| 6 | dict.items() Devuelve una lista de tuplas (clave, valor) iterables. |
| 7 | dict.keys() Devuelve todas las claves de un diccionario como lista. |
| 8 | dict.setdefault(key, default=None) Similar a get(), pero si la clave no existe en el diccionario, la agrega y establece el valor como default. |
| 9 | dict.update(dict2) Actualiza el diccionario dict con los pares clave/valor de dict2. |
| 10 | dict.values() Devuelve todos los valores del diccionario como lista. |
| 11 | pop(key[,default]) Elimina el valor correspondiente a la clave key del diccionario y devuelve el valor eliminado. El valor de key debe proporcionarse. De lo contrario, devuelve el valor default. |
| 12 | popitem() Devuelve y elimina el último par clave-valor del diccionario. |