Diccionarios en Python: pares clave-valor ordenados y anidados

Clase 25 de 32Curso 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.