Qué significa KeyError y cómo solucionarlo
Referencia del error
KeyError
Lenguaje
Severidad
MediaCuándo ocurre
Un KeyError se lanza en Python cuando intentas acceder a una clave de un diccionario que no existe.
Posibles soluciones
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.
Errores relacionados
Más detalles
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.
Posibles soluciones
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.
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ó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"))Practica en inglés
¿Cómo le explicarías un KeyError a un compañero dev? Elige la frase correcta:
"I hit an error...
¿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