Solucionar el error de clave en un diccionario en Python

Vaibhav Vaibhav 12 abril 2022
Solucionar el error de clave en un diccionario en Python

Dictionary es una estructura de datos escalable disponible en Python. Almacena datos en forma de pares clave-valor donde una clave puede ser cualquier objeto inmutable y que se pueda modificar y el valor puede ser cualquier cosa; una lista, una tupla, un diccionario, una lista de objetos, etc.

Usando claves, podemos acceder a los valores a los que apuntan estas claves. Si se le da una clave inexistente a un diccionario, arroja una excepción KeyError. En este artículo, aprenderemos cómo manejar esta excepción en Python.

Solucione la excepción KeyError en un diccionario en Python

Para resolver la excepción KeyError, se puede comprobar si la clave existe en el diccionario antes de acceder a ella. El método keys() devuelve una lista de claves dentro del diccionario. Antes de acceder al valor de una clave, se recomienda verificar si la clave existe en esta lista si no está seguro de su existencia. El siguiente código de Python muestra lo mismo.

data = {
    "a": 101,
    "b": 201,
    "c": 301,
    "d": 401,
    "e": 501,
}
keys = ["a", "e", "r", "f", "c"]

for key in keys:
    if key in data.keys():
        print(data[key])
    else:
        print(f"'{key}' not found.")

Producción :

101
501
'r' not found.
'f' not found.
301

Además del enfoque discutido anteriormente, también se puede usar un bloque try...except para capturar la excepción KeyError o cualquier excepción. Consulte el siguiente código de Python para lo mismo.

data = {
    "a": 101,
    "b": 201,
    "c": 301,
    "d": 401,
    "e": 501,
}
keys = ["a", "e", "r", "f", "c"]

for key in keys:
    try:
        print(data[key])
    except:
        print(f"'{key}' not found.")

Producción :

101
501
'r' not found.
'f' not found.
301

El código debajo del bloque except se ejecutará si ocurre una excepción KeyError.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Artículo relacionado - Python Error