Diccionarios en Python: pares clave-valor ordenados y anidados
Clase 25 de 32 • Curso de Fundamentos de Python
Resumen
Los diccionarios en Python son una colección poderosa y ordenada desde Python 3.7 que organiza datos en pares clave-valor. Aquí verás cómo crearlos, acceder a la información con corchetes y get, modificarlos con asignación y update, eliminarlos con pop y popitem, recorrerlos con for e items, y trabajar con diccionarios anidados.
¿Qué es un diccionario en Python y cómo se declara?
Un diccionario agrupa información en pares clave: valor separados por comas. La última coma es opcional. Es ideal para dar características a un elemento.
auto = {
'marca': 'Renault',
'modelo': 'Clio',
'año': 2025
}
print(auto)
- Estructura de pares clave-valor: clave a la izquierda, valor a la derecha.
- Separación por dos puntos entre clave y valor.
- Elementos separados por comas.
- Desde Python 3.7, la inserción conserva el orden.
- Representación común en una sola línea: es directa y legible.
¿Cómo acceder a claves y valores con get y corchetes?
Accede a un valor por su clave con corchetes o con get.
print(auto['marca']) # Renault
print(auto.get('marca')) # Renault
Si quieres solo las claves o solo los valores:
print(auto.keys()) # dict_keys(['marca', 'modelo', 'año'])
print(auto.values()) # dict_values(['Renault', 'Clio', 2025])
- key y value son los términos en inglés para clave y valor.
- keys() y values() devuelven vistas ordenadas en la práctica.
¿Cómo modificar, agregar y actualizar elementos con update?
Modificar un valor es como acceder, pero asignando un nuevo dato. También puedes agregar una nueva pareja.
# Modificar un valor existente
auto['año'] = 2020
# Agregar un nuevo par clave-valor
auto['color'] = 'verde'
print(auto)
Con update puedes modificar y agregar en una sola línea:
auto.update({'año': 2022, 'puertas': 4})
print(auto)
- update acepta un diccionario: cambia claves existentes y suma nuevas.
- Útil para múltiples cambios de forma compacta.
¿Cómo verificar existencia y sensibilidad a mayúsculas con in?
Comprueba si una clave existe con in. Recuerda: es case sensitive.
if 'marca' in auto:
print('Marca es una de las propiedades de este diccionario')
if 'MARCA' in auto: # no entra por sensibilidad a mayúsculas
print('No se imprime')
- Sensibilidad a mayúsculas y minúsculas: considera normalizar con
.lower()
en comparaciones si lo necesitas.
¿Cómo eliminar y recorrer un diccionario, incluso anidado?
Puedes eliminar por clave, quitar el último elemento o vaciar todo el diccionario. Luego, recórrelo por claves, valores o por parejas.
¿Cómo eliminar con pop, popitem y clear?
# Eliminar por clave
auto.pop('puertas')
# Eliminar el último par insertado
auto.popitem()
# Vaciar el diccionario por completo
auto.clear()
print(auto) # {}
- pop('clave') borra y devuelve el valor de esa clave.
- popitem() borra el último elemento.
- clear() deja el diccionario vacío.
¿Cómo recorrer claves, valores y parejas con for e items?
# Solo claves
for k in auto:
print(k)
# Solo valores
for v in auto.values():
print(v)
# Clave y valor al mismo tiempo
for clave, valor in auto.items():
print(clave, valor)
- for k in diccionario recorre claves.
- values() recorre valores.
- items() da (clave, valor) en cada iteración.
¿Qué son los diccionarios anidados y cómo acceder?
Un diccionario puede contener otros diccionarios como valores: así modelas estructuras con múltiples propiedades por elemento.
familia = {
'hijo uno': {'nombre': 'Pedro', 'edad': 8},
'hijo dos': {'nombre': 'Ana', 'edad': 7},
'hijo tres': {'nombre': 'Marcelo', 'edad': 6}
}
print(familia['hijo uno']['nombre']) # Pedro
- Cada entrada interna es un diccionario con sus propias claves y valores.
- Acceso encadenado con corchetes: externo → interno → propiedad.
¿Quieres compartir cómo aplicas diccionarios en tus proyectos o qué patrón de recorrido te funcionó mejor? Escribe tu experiencia y dudas para seguir mejorando juntos.