Un KeyError se lanza en Python cuando intentas acceder a una clave de un diccionario que no existe. Python no puede encontrar la clave que pediste, por lo que lanza este error en lugar de devolver un valor.
Por qué ocurre
- •Acceder a una clave que nunca fue agregada al diccionario.
- •Error tipográfico en el nombre de la clave (por ejemplo: 'Email' en vez de 'email').
- •La clave fue eliminada antes con del o .pop().
- •Asumir que una clave existe sin verificarlo, por ejemplo al leer respuestas de APIs o datos del usuario.
Ejemplos
Código que causa el error
user = {"name": "Alice", "age": 30}
print(user["email"])Error en la terminal
Traceback (most recent call last):
File "app.py", line 2, in <module>
print(user["email"])
KeyError: 'email'Cómo solucionarlo
Usa el método .get() con un valor por defecto, o verifica con el operador in antes de acceder. Si esperas que la clave siempre esté presente, valida o registra los datos que construyen el diccionario.
Código corregido
user = {"name": "Alice", "age": 30}
# Option 1: check first
if "email" in user:
print(user["email"])
# Option 2: use .get() with a default
print(user.get("email", "not provided"))Errores relacionados
¿Listo para practicar tu inglés en el trabajo?
Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.
Prueba Lingua-e gratis