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.