Python3 Diccionario
Un diccionario es otro tipo de contenedor mutable que puede almacenar objetos de cualquier tipo.
Cada par clave-valor del diccionariokey=>valuese separa con dos puntos:y cada par se separa con una coma (,), y todo el diccionario se incluye entre llaves{}y el formato es el siguiente:
d = {key1 : value1, key2 : value2, key3 : value3 }
Nota:dictAl ser palabras clave y funciones integradas de Python, no se recomienda nombrar variables comodict。

Las claves deben ser únicas, pero los valores no necesariamente.
Los valores pueden tomar cualquier tipo de dato, pero las claves deben ser inmutables, como cadenas, números.
Un ejemplo sencillo de diccionario:
tinydict = {'name': 'ejemplo', 'likes': 123, 'url': 'www.example.com'}

También se puede crear un diccionario así:
tinydict1 = { 'abc': 456 }
tinydict2 = { 'abc': 123, 98.6: 37 }
Crear un diccionario vacío
Usando llaves{ }Crear un diccionario vacío:
Ejemplo
emptyDict = {}
# Imprimir el diccionario
print(emptyDict)
# Verificar la cantidad de elementos del diccionario
print("Length:", len(emptyDict))
# Verificar el tipo
print(type(emptyDict))
El resultado del ejemplo anterior es:
{}
Length: 0
<class 'dict'>
Usando la función integradadict()para crear un diccionario:
Ejemplo
# Imprimir el diccionario
print(emptyDict)
# Verificar la cantidad de elementos del diccionario
print("Length:",len(emptyDict))
# Verificar el tipo
print(type(emptyDict))
El resultado del ejemplo anterior es:
{}
Length: 0
<class 'dict'>
Acceder a los valores del diccionario
Coloca la clave correspondiente entre corchetes, como en el siguiente ejemplo:
Ejemplo
El resultado del ejemplo anterior es:
tinydict['Name']: Ejemplo tinydict['Age']: 7
Si accedes a los datos con una clave que no está en el diccionario, se mostrará un error como el siguiente:
Ejemplo
El resultado del ejemplo anterior es:
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 añadir contenido nuevo a un diccionario es agregar nuevos pares clave/valor, modificar o eliminar los 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 todo el diccionario; para vaciarlo solo se necesita una operación.
Para eliminar un diccionario explícitamente se usa el comando del, como en el siguiente ejemplo:
Ejemplo
Pero esto provocará una excepción, porque tras ejecutar del, el diccionario ya no existe:
Traceback (most recent call last):
File "/ejemplo-test/test.py", line 9, in <module>
print ("tinydict['Age']: ", tinydict['Age'])
NameError: name 'tinydict' is not defined
Nota:El método del() también se tratará más adelante.
Características de las claves del diccionario
Los valores de un diccionario pueden ser cualquier objeto de Python, ya sean objetos estándar o definidos por el usuario, pero las claves no.
Dos puntos importantes a recordar:
1) No se permite que la misma clave aparezca dos veces. Si al crear el diccionario la misma clave se asigna dos veces, se conservará el último valor, como en el siguiente ejemplo:
Ejemplo
El resultado del ejemplo anterior es:
tinydict['Name']: 小Ejemplo
2) Las claves deben ser inmutables, por lo que pueden ser números, cadenas o tuplas, mientras que las listas no se pueden usar, 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']: 'Ejemplo', 'Age': 7}
TypeError: unhashable type: 'list'
Funciones y métodos integrados del diccionario
El diccionario de Python incluye las siguientes funciones integradas:
| No. | Función y descripción | Ejemplo |
|---|---|---|
| 1 | len(dict) Calcula el número de elementos del diccionario, es decir, el total de claves. |
>>> tinydict = {'Name': 'Ejemplo', 'Age': 7, 'Class': 'First'}
>>> len(tinydict)
3
|
| 2 | str(dict) Devuelve el diccionario como una representación de cadena imprimible. |
>>> tinydict = {'Name': 'Ejemplo', 'Age': 7, 'Class': 'First'}
>>> str(tinydict)
"{'Name': 'Ejemplo', 'Class': 'First', 'Age': 7}"
|
| 3 | type(variable) Devuelve el tipo de la variable introducida; si la variable es un diccionario, devuelve el tipo diccionario. |
>>> tinydict = {'Name': 'Ejemplo', 'Age': 7, 'Class': 'First'}
>>> type(tinydict)
<class 'dict'>
|
El diccionario de Python incluye los siguientes métodos integrados:
| No. | 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() Crea un nuevo diccionario, tomando los elementos de la secuencia seq como claves del diccionario y val como el valor inicial correspondiente a 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 predeterminado establecido por default. |
| 5 | key in dict Si la clave está en el diccionario dict, devuelve true; de lo contrario, devuelve false. |
| 6 | dict.items() Devuelve un objeto de vista en forma de lista. |
| 7 | dict.keys() Devuelve un objeto de vista. |
| 8 | dict.setdefault(key, default=None) Similar a get(), pero si la clave no existe en el diccionario, agregará la clave y establecerá el valor como default. |
| 9 | dict.update(dict2) Actualiza el diccionario dict con los pares clave/valor de dict2. |
| 10 | dict.values() Devuelve un objeto de vista. |
| 11 | dict.pop(key[,default]) Elimina del diccionario el valor correspondiente a la clave key y devuelve el valor eliminado. |
| 12 | dict.popitem() Devuelve y elimina el último par clave-valor del diccionario. |