Comprende la idea
Antes de empezar: Variables, listas, recorridos y funciones en Python.
Un diccionario asocia claves con valores. En alumno = {"nombre": "Ana", "puntos": 8}, las claves describen los datos: alumno["puntos"] devuelve 8. No se consulta la «segunda posición» como en una lista.
Actualizar y consultar
alumno["puntos"] = 9 reemplaza el valor asociado a esa clave. Cada clave aparece una sola vez en el diccionario; asignarla de nuevo no crea otra entrada independiente. Las claves deben ser hashables, como cadenas, enteros o tuplas de elementos hashables. Una lista no sirve como clave.
Consultar con corchetes una clave inexistente produce KeyError. alumno.get("grupo", "sin asignar") devuelve el valor predeterminado si falta esa clave, sin agregarla al diccionario.
Contar ocurrencias
def contar(elementos):
frecuencias = {}
for elemento in elementos:
frecuencias[elemento] = frecuencias.get(elemento, 0) + 1
return frecuencias
print(contar(["a", "b", "a"]))Cada elemento se usa como clave y el valor registra cuántas veces apareció. Si todavía no existe, empezamos desde cero antes de sumar uno. Este ejemplo supone elementos hashables.
Recorrer pares
for clave, valor in frecuencias.items(): permite procesar cada asociación. El orden de inserción se conserva en Python moderno, pero eso no equivale a un orden alfabético o numérico automático.
¿get distingue ausencia de un valor None?
Sin otro valor predeterminado, ambos casos pueden devolver None. Usa clave in diccionario cuando necesitas comprobar específicamente si la clave existe.
Vamos con un ejemplo
Para ["rojo", "azul", "rojo"], el diccionario empieza vacío. Después de la primera vuelta es {"rojo": 1}; después de la segunda agrega "azul": 1; en la tercera actualiza "rojo" a 2. El resultado final tiene dos claves y tres ocurrencias en total.
Conecta y aplica
Un diccionario puede guardar calificaciones por identificador de alumno. Si dos alumnos comparten nombre, usar solo su nombre como clave puede sobrescribir información; elegir la clave forma parte del diseño de los datos.
Un detalle que importa: La expresión x in diccionario pregunta por claves, no por valores. Para buscar entre valores puedes usar diccionario.values(), según la tarea.
Ponlo a prueba
Para d = {"a": 2}, ¿qué devuelve d.get("b", 0)?
Elige una respuesta para ver la explicación.
¿Necesitas ayuda con este tema?
Trabájalo paso a paso con un profesor de EATRYL. Consulta disponibilidad y costo para reforzar Diccionarios en Python: consultar datos por una clave.
Consultar una clase sobre este tema