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
ficha = {"nombre": "Ada", "edad": 36}
print(ficha["nombre"])
print(ficha.get("ciudad", "Sin dato"))
ficha["ciudad"] = "Lima"
print(ficha)Al ejecutarlo, Python muestra:
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().