Excepción de Python KeyError

Excepción de Python KeyError
El keyerer La excepción puede ocurrir en Python por múltiples razones. Intentar acceder a la clave inválida del diccionario de Python es uno de ellos. El diccionario se utiliza para almacenar múltiples valores donde cada valor es accesible por un valor clave particular. El Keyerer ocurre cuando se intenta acceder a una clave de un diccionario que no existe o para tratar de acceder a la tecla no válida. Este tipo de Keyerer se puede evitar accediendo solo a las teclas de diccionario válidos o se puede manejar utilizando el try-excepto Bloque de Python. Esta excepción puede ocurrir para otros módulos de Python también. Las formas de manejar o evitar Keyerer Las excepciones al acceder al diccionario de Python se muestran en este tutorial.

Ejemplo-1: Ocurrencia de la excepción de KeyError para la tecla no válida

Cree un archivo de Python con el siguiente script para verificar la ocurrencia de KeyError para la clave no válida del diccionario. En el guión, se ha declarado un diccionario de tres pares de valor clave. A continuación, se han utilizado tres claves para leer los valores del diccionario donde se llamó la clave 'tipo' no existe en el diccionario. El KeyError ocurrirá al momento de leer el valor de 'Tipo'.

# Declarar un diccionario
Dic_Customers = 'Customer_id': 'B-45322', 'Nombre': 'Meena Kumari', 'Account_Type': 'Saving'
# Lea e imprima la identificación del cliente
id = Dic_Customers ['Customer_id']
Imprimir ("ID de cliente:", ID)
# Lea e imprima el nombre del cliente
nombre = Dic_Customers ['Nombre']
Imprimir ("Nombre del cliente:", nombre)
# Lea e imprima el tipo de cuenta
type = dic_customers ['type']
Imprimir ("Tipo de cuenta:", Tipo)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Se han impreso los valores de las claves válidas del diccionario, y el KeyError se ha mostrado para la tecla no válida ','tipo'.

Ejemplo-2: Excepción de manejo de KeyError usando el bloque Try-Except

La excepción de KeyError se puede manejar de diferentes maneras. Una forma es usar el bloque Try-Except para manejar este error. Cree un archivo Python con el siguiente script para manejar el KeyError usando el bloque Try-Except. Se ha declarado un diccionario de tres elementos en el guión. El KeyError ocurrirá en el momento de leer el valor de la clave llamada 'tipo' que no existe en el diccionario, y se mostrará el mensaje de error personalizado.

# Declarar un diccionario
Dic_Customers = 'Customer_id': 'B-45322', 'Nombre': 'Meena Kumari', 'Account_Type': 'Saving'
intentar:
# Lea e imprima la identificación del cliente
id = Dic_Customers ['Customer_id']
Imprimir ("ID de cliente:", ID)
# Lea e imprima el nombre del cliente
nombre = Dic_Customers ['Nombre']
Imprimir ("Nombre del cliente:", nombre)
# Lea e imprima el tipo de cuenta
type = dic_customers ['type']
Imprimir ("Tipo de cuenta:", Tipo)
Excepto KeyError como clave:
# Mensaje de error de impresión
imprimir (' La tecla no existe en el diccionario.'.formato (clave))

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Se han impreso los valores de las teclas válidas del diccionario, y el error se ha mostrado para la tecla no válida.

Ejemplo-3: Evitar la excepción de KeyError usando la función get ()

El Keyerer Se puede evitar la excepción utilizando la función get () sin usar el bloque try_except. Get () es una función incorporada de Python para leer el valor de la clave particular del diccionario. Esta función devuelve el valor de la clave si existe la clave; De lo contrario, regresa Ninguno. Cree un archivo de Python con el siguiente script para saber cómo evitar el KeyError usando la función get (). En el script, la función get () se ha utilizado para leer dos claves válidas y una clave inválida del diccionario.

# Declarar un diccionario
Dic_Customers = 'Customer_id': 'B-45322', 'Nombre': 'Meena Kumari', 'Account_Type': 'Saving'
# Establezca el valor de clave
clave = 'nombre'
# Imprima el valor de la clave si existe
imprimir ("El valor de la tecla es: ".formato (clave, dic_customers.obtener la clave)))
# Establezca el valor de clave
Key = 'Tipo'
# Imprima el valor de la clave si existe
imprimir ("El valor de la tecla es: ".formato (clave, dic_customers.obtener la clave)))
# Establezca el valor clave
Key = 'Balance'
"
Imprima el valor de la clave si existe,
de lo contrario, configure el valor para la nueva clave
"
imprimir ("El valor de la tecla es: ".formato (clave, dic_customers.Get (Key, 60000))))

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. El 'tipo' La clave no existe en el diccionario. Entonces el 'Ninguno' El valor ha sido devuelto por la función get () para esta clave.

Ejemplo-4: Evitar la excepción de KeyError usando la declaración if-else

El Keyerer La excepción también se puede evitar sin usar la función get (). Cree un archivo de Python con el siguiente script para evitar el Keyerer Excepción revisando la existencia de la clave del diccionario. La función nombrada 'check_key' ha sido declarado en el guión para verificar la existencia de cada clave del diccionario. La función devolverá el valor formateado de la clave si la clave existe en el diccionario; de lo contrario, devolverá el mensaje de error. Se ha utilizado un diccionario de tres elementos aquí. Al principio, el 'Identificación del cliente' se verificará que exista en el diccionario. A continuación, el 'tipo'La clave que no existe en el diccionario se verificará.

# Definir la función para verificar la clave existente o no
Def check_key (K, DIC):
Si k en DIC.llaves():
imprimir ("El valor clave es .".formato (k, dic [k]))
demás:
imprimir (" La tecla no existe en el diccionario.".formato (k))
# Declarar un diccionario
Dic_Customers = 'Customer_id': 'B-45322', 'Nombre': 'Meena Kumari', 'Account_Type': 'Saving'
# Llame a la función para verificar la tecla 'Customer_ID'
check_key ('customer_id', dic_customers)
# Llame a la función para verificar la tecla 'Tipo'
check_key ('type', dic_customers)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. El valor del 'Identificación del cliente'La clave se ha impreso, y el mensaje de error se ha imprimido para el 'tipo' llave.

Conclusión:

Se han mostrado diferentes formas de evitar la excepción de KeyError que ocurre para la clave no existente del Diccionario de Python en este tutorial. Los usuarios de Python pueden seguir cualquiera de las formas mencionadas aquí en función de sus requisitos.