Diccionarios de Python: Acceso a Elementos
Aprende todas las formas de acceder a elementos de diccionarios Python: notación de corchetes, get(), keys(), values(), items() y pruebas de pertenencia.
Los diccionarios de Python almacenan datos como pares clave-valor. Saber cómo recuperar esos valores — y qué ocurre cuando falta una clave — es la base para trabajar con cualquier diccionario. Este capítulo cubre todas las técnicas estándar de acceso: notación de corchetes, el método .get(), iteración con .keys(), .values() e .items(), y la comprobación de pertenencia con in.
Notación de Corchetes
La forma más directa de recuperar un valor es escribir el nombre del diccionario seguido de la clave entre corchetes.
Acceder al valor de un diccionario mediante una clave
Python busca 'Bob' en la tabla hash y devuelve su valor en tiempo O(1), independientemente de cuántas claves contenga el diccionario.
KeyError cuando la clave no existe
Si la clave no existe, Python lanza un KeyError y detiene la ejecución.
ages = {'Alice': 27, 'Bob': 34, 'Charlie': 45}
print(ages['Dave']) # KeyError: 'Dave'Siempre gestiona este caso — ya sea comprobando la pertenencia primero (véase la sección del operador in más abajo) o usando .get() en su lugar.
El Método .get()
.get(key) devuelve el valor de key si existe, y None en caso contrario — no se lanza ninguna excepción.
Usar .get() para acceder de forma segura a una clave del diccionario
Proporcionar un valor por defecto
Pasa un segundo argumento a .get() para recibir un valor alternativo en lugar de None:
colors = {'apple': 'red', 'banana': 'yellow', 'grape': 'purple'}
color = colors.get('orange', 'unknown')
print(color) # unknownEsta es la forma idiomática de acceder a una clave que puede o no estar presente sin envolver el código en un bloque try/except.
Comprobación de Pertenencia con in
Usa el operador in para verificar si una clave existe antes de acceder a ella:
ages = {'Alice': 27, 'Bob': 34, 'Charlie': 45}
if 'Alice' in ages:
print(ages['Alice']) # 27
print('Dave' in ages) # False
print('Bob' in ages) # Truein comprueba solo las claves, no los valores. Se ejecuta en tiempo O(1) porque los diccionarios están basados en tablas hash.
Acceder a Todas las Claves, Valores y Elementos
Los diccionarios de Python exponen tres objetos de vista que permiten iterar o inspeccionar su contenido sin construir una lista separada.
.keys() — todas las claves
colors = {'apple': 'red', 'banana': 'yellow', 'grape': 'purple'}
print(colors.keys())
# dict_keys(['apple', 'banana', 'grape'])
for fruit in colors.keys():
print(fruit)
# apple
# banana
# grape.values() — todos los valores
colors = {'apple': 'red', 'banana': 'yellow', 'grape': 'purple'}
print(colors.values())
# dict_values(['red', 'yellow', 'purple'])
for color in colors.values():
print(color)
# red
# yellow
# purple.items() — pares clave-valor
.items() devuelve cada entrada como una tupla (key, value). El desempaquetado de tuplas hace que esta sea la vista más útil para la mayoría de las tareas de iteración:
colors = {'apple': 'red', 'banana': 'yellow', 'grape': 'purple'}
for fruit, color in colors.items():
print(f'{fruit} is {color}')
# apple is red
# banana is yellow
# grape is purpleLos objetos de vista son dinámicos — reflejan el estado actual del diccionario. Si añades o eliminas una clave después de crear una vista, esta se actualiza automáticamente.
Acceder a Elementos en un Diccionario Anidado
Cuando el valor de un diccionario es a su vez un diccionario, encadena corchetes (o llamadas a .get()) para llegar al valor interior.
Acceder a valores en un diccionario anidado
Para un acceso más seguro a través de varios niveles, encadena llamadas a .get():
title = library.get('book4', {}).get('title', 'Not found')
print(title) # Not foundConsulta el capítulo de Diccionarios Anidados para un tratamiento más profundo de las estructuras de datos multinivel.
Elegir el Método de Acceso Correcto
| Situación | Enfoque recomendado |
|---|---|
| La clave está garantizada que existe | d[key] — claro y rápido |
La clave puede no existir, None es aceptable | d.get(key) |
| La clave puede no existir, se necesita un valor alternativo | d.get(key, default) |
| Comprobar antes de acceder | if key in d: d[key] |
| Iterar todas las entradas | for k, v in d.items() |
Qué Viene Después
Una vez que puedes leer valores de un diccionario, los siguientes pasos naturales son:
- Añadir Elementos — insertar nuevos pares clave-valor
- Cambiar Elementos — actualizar valores existentes
- Recorrer Diccionarios — patrones de iteración en profundidad
- Métodos de Diccionario — la referencia completa de métodos