error de clave de python
Funciones y métodos de Python
Michael Zippo
01.11.2021
Se genera un Python KeyError cuando intenta acceder a un elemento en un diccionario que no existe. Puede corregir este error modificando su programa para seleccionar un elemento de un diccionario que sì existe. O puede manejar este error comprobando primero si existe una clave.
¿Acaba de recibir un KeyError? ¬°No se preocupe! Cuando se genera un KeyError, significa que está intentando acceder a una clave dentro de un diccionario que no existe. Gestionar y corregir este error es fácil cuando se sabe còmo.
Los KeyErrors se pueden manejar usando un try & hellip; except block, usando el " in " palabra clave, o buscando una clave de antemano mediante la indexaciòn.
En esta guìa, vamos a hablar sobre qué son los KeyErrors de Python y por qué se generan. Analizaremos un ejemplo de un error y còmo solucionarlo para que sepa còmo abordar KeyErrors en el futuro.
¬°Comencemos!
¿Qué es un Python KeyError?
Un Python KeyError ocurre cuando intenta acceder a un elemento en un diccionario que no existe usando la sintaxis de indexaciòn. Este error se genera porque Python no puede devolver un valor para un elemento que no existe en un diccionario.
Un diccionario de Python es un conjunto de pares clave-valor que se almacenan entre llaves ({}):
Las claves son " nombre & rdquo ;, " precio & rdquo ;, y " RAM " . Las claves aparecen antes de dos puntos en un diccionario.
El 81% de los participantes afirmaron que se sentìan más seguros acerca de sus perspectivas laborales después de asistir a un campamento de entrenamiento. Asigne a un bootcamp hoy mismo.
El graduado promedio de un bootcamp pasò menos de seis meses en la transiciòn profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.
Veamos qué sucede si intentamos recuperar el n√∫mero de puertos USB en nuestro diccionario:
Nuestro còdigo devuelve:
Este error nos dice que la clave que hemos especificado no existe. En este caso, la clave que falta es " usb_ports & rdquo ;.
KeyError Python: Soluciones
Para manejar un diccionario de Python KeyError puede:
- Busque una clave de antemano mediante la indexaciòn
- Utilice el " en " palabra clave para buscar una clave
- Use un try & hellip; except block.
La soluciòn para manejar el KeyError que mejor funcione para usted variará dependiendo de su caso de uso.
Usar el método get () del diccionario
El método get () del diccionario de Python devuelve un valor en un diccionario. Puede especificar un valor predeterminado con el método get (). Este valor predeterminado se devuelve si el nombre de la clave que ha especificado no tiene un valor.
Considere el siguiente còdigo:
Ejecutemos nuestro còdigo usando el intérprete de Python y veamos qué sucede:
Nuestro còdigo usa el método get () del diccionario para recuperar " ALU " de nuestro diccionario. Ning√∫n valor se corresponde con este nombre de clave. El método get () devuelve el valor predeterminado que hemos especificado, que es " no disponible " .
Verifique una clave de antemano usando la indexaciòn
Puede verificar la existencia de una clave usando la indexaciòn para evitar encontrar un KeyError. Si una clave está en un diccionario, puede usar esa clave. De lo contrario, puede indicarle a su programa que haga otra cosa que no dependa de esa clave.
Vamos a escribir un programa que acceda a las claves en nuestro " raspberry_pi " diccionario en Python. Comprobemos si nuestra clave está en nuestro diccionario usando indexaciòn:
Hemos utilizado un Python " if " declaraciòn para comprobar si nuestra clave existe. " raspberry_pi [get_key] " solo devolverá un valor si la clave existe. Esto significa que si nuestra clave existe, nuestro " if " se ejecutará la sentencia. Si nuestra clave no existe, el " else " se ejecutará la sentencia.
Intentemos averiguar la RAM de nuestra Raspberry Pi:
Ahora, intentemos averiguar cuántos puertos USB tiene la computadora:
¬°Nuestro còdigo no genera un KeyError! Esto se debe a que primero hemos comprobado si nuestra clave existe antes de usarla. Si hubiéramos usado raspberry_pi [get_key] dentro de nuestro " else " declaraciòn, nuestro còdigo devolverìa un KeyError.
Podemos usar un bloque try & hellip; except para determinar la existencia de un error y evitar que un KeyError inesperado ayude a nuestro programa Python.
Definamos un error personalizado para nuestro ejemplo de computadora de antes usando un bloque try & hellip; except:
"Career Karma entrò en mi vida cuando más lo necesitaba y rápidamente me ayudò a combinar con un bootcamp. ¬°Dos meses después de graduarme, encontré el trabajo de mis sue√±os que se alineaba con mis valores y metas en la vida! "
Usamos un bloque try & hellip; except para intentar imprimir una pieza particular de informaciòn sobre la computadora Raspberry Pi en la consola. Si nuestro còdigo genera un KeyError en cualquier parte del bloque " try ", nuestro còdigo ejecuta el contenido del " excepto " bloquear.
Esto significa que cada vez que se genera un KeyError, " Esta informaciòn no está disponible " se imprime en la consola. Intentemos averiguar sobre el nombre de la computadora :
Nuestro còdigo genera un KeyError dentro de nuestro " try " cuadra. Esto hace que nuestro còdigo ejecute " except " bloque de còdigo.
El " in " La palabra clave es uno de los operadores de membresìa de Python. Comprueba si un elemento está en una lista de valores. Puede utilizar el " en " palabra clave para comprobar si una clave está dentro de un diccionario.