Curso
Dictionary es una estructura de datos incorporada de Python que es mutable. Es similar, en espíritu, a List, Set y Tuples. Sin embargo, no se indexa por una secuencia de números, sino por keys y puede entenderse como arreglos asociativos. A un nivel abstracto, consta de una key con un value asociado. En Python, Dictionary representa la implementación de una hash-table.
¿Qué son las keys?
Como se muestra en la figura de abajo, las keys son tipos de datos inmutables (que no pueden cambiar) y pueden ser cadenas o números. No obstante, una key no puede ser un tipo de dato mutable, como una lista. Las keys son únicas dentro de un Dictionary y no se pueden duplicar. Si se usa más de una vez, las entradas posteriores sobrescriben el valor anterior.

Una key se conecta con un value, creando así una estructura tipo mapa. Por ejemplo, si quitas las keys de la imagen, lo que te queda es una estructura con una secuencia de números. Los diccionarios, por tanto, guardan un par key: value en cada posición.
Un Dictionary se representa con llaves {}, dentro de las cuales se encierran pares key: value separados por comas.
Crear un diccionario
Sintaxis
Como recordatorio, aquí tienes una receta para crear un Dictionary:
my_dict = {
"key1":"value1",
"key2":"value2"
}
En la sintaxis anterior, tanto las keys como los values son cadenas.
Ejemplo de creación de un diccionario
pop = [30.55, 2.77, 39.21]
countries = ["afghanistan", "albania", "algeria"]
Convirtamos los datos de población en un Dictionary. Para crearlo, usarás las llaves. Después, dentro de las llaves, incluirás varios pares key:value. En este caso, las keys son los nombres de los países y los values son sus poblaciones correspondientes.
La primera key es Afghanistan y su valor correspondiente es 30.55. Fíjate en los dos puntos que separan la pareja key y value. Hagamos lo mismo con las otras dos parejas key:value y guarda el resultado en la variable world.
Ahora, para encontrar la población de Albania, simplemente escribe world y, a continuación, la cadena Albania entre corchetes. En otras palabras, pasas la key entre corchetes y obtienes el value correspondiente.
world = {"afghanistan":30.55, "albania":2.77, "algeria":39.21}
world["albania"]
2.77
Este enfoque no solo es intuitivo, también es muy eficiente porque Python puede buscar estas keys muy rápido, incluso en diccionarios enormes.
Ejemplo interactivo de creación de un diccionario
En el siguiente ejemplo, usarás las cadenas de countries y capitals para crear un Dictionary llamado europe con 4 pares key:value. Aquí, countries serán las keys y capitals serán los values. ¡Cuidado con las mayúsculas! Asegúrate de usar todo en minúsculas. Por último, imprime europe para comprobar si el resultado es el esperado.
# Definición de countries y capitals
countries = ['spain', 'france', 'germany', 'norway']
capitals = ['madrid', 'paris', 'berlin', 'oslo']
# A partir de countries y capitals, crea el diccionario europe
europe = {'spain':'madrid', 'france':'paris', 'germany':'berlin', 'norway':'oslo'}
# Imprime europe
print(europe)
Al ejecutar el código anterior, se obtiene el siguiente resultado:
{'norway': 'oslo', 'germany': 'berlin', 'france': 'paris', 'spain': 'madrid'}
Si quieres saber más sobre los diccionarios en Python, echa un vistazo a este vídeo de nuestro curso Intermediate Python.
Este contenido está extraído del curso Intermediate Python de DataCamp, creado por Hugo Bowne-Anderson.
