Glosario de Python

Qué es un diccionario en Python

Un diccionario relaciona claves con valores para que consultes un dato por su nombre.

Definición

Un diccionario es una colección de parejas clave-valor. Se escribe con llaves, como {"nombre": "Ada", "edad": 36}. Para leer un dato indicas su clave entre corchetes: ficha["nombre"].

Si el dato debe existir, usa el acceso directo. Si puede faltar, get devuelve un valor alternativo sin añadir la clave. Asignar a una clave la cambia si existe y la crea si no existe.

Ejemplo

ejemplo.py
ficha = {"nombre": "Ada", "edad": 36}
print(ficha["nombre"])
print(ficha.get("ciudad", "Sin dato"))
ficha["ciudad"] = "Lima"
print(ficha)

Al ejecutarlo, Python muestra:

Salida
Ada
Sin dato
{'nombre': 'Ada', 'edad': 36, 'ciudad': 'Lima'}

Puedes copiar el ejemplo y cambiarlo en el editor Python del navegador: modificar un valor y predecir el resultado es la mejor forma de fijar el concepto.

Error frecuente

Leer con corchetes una clave que no existe produce KeyError. Decide si esa clave es obligatoria o si su ausencia es normal antes de elegir entre corchetes y get.

Cómo se diferencia de otros conceptos

Frente a una lista, un diccionario consulta por nombre y no por posición: no necesitas recordar que el tercer elemento era la ciudad. Frente a un set, asocia un valor a cada clave. Y frente a una clase, es más ligero cuando solo necesitas transportar datos sin comportamiento propio.

Preguntas frecuentes

¿Qué puede ser una clave?

Cualquier valor inmutable: normalmente un texto o un número. Una lista no puede ser clave porque se puede modificar.

¿Cómo recorro un diccionario?

Con for clave in d obtienes las claves; con d.items(), claves y valores a la vez, como en for clave, valor in d.items().

Dónde seguir