error de clave de python

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.

Usando un try & hellip; except Block

Un Python try & hellip; except block intentará ejecutar una lìnea de còdigo. Si esa lìnea de còdigo no se puede ejecutar, nuestro còdigo generará un error personalizado de acuerdo con las excepciones que ha indicado.

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! "

Venus, ingeniero de software en Rockbot

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 :

Ahora, intentemos conocer la disponibilidad del puerto USB 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.

Verifique una clave antes de usar en

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.

Este programa comprobará si existe una clave antes de imprimir su valor en la consola:

Este còdigo verificará si el valor de " get_key " es una clave dentro del diccionario " raspberry_pi ". Si la clave existe, se ejecutará la instrucciòn " if " . De lo contrario, se ejecutará la instrucciòn " else & rdquo ;. Intentemos buscar informaciòn sobre la CPU de la computadora:

Busquemos el nombre de la computadora:

¬°Nuestro còdigo funciona! Cuando buscamos una clave que no existe, el " else " se ejecuta la declaraciòn. Esto significa que no se puede generar ning√∫n KeyError en nuestro còdigo porque no intentamos acceder a una clave en " else " bloque.

¬°Nuestro còdigo funciona! Cuando buscamos una clave que no existe, el " else " se ejecuta la declaraciòn. Esto significa que no se puede generar ning√∫n KeyError en nuestro còdigo porque no intentamos acceder a una clave en " else " block.

Conclusiòn

Se genera un KeyError cuando intenta acceder a un valor de un diccionario que no existe. Para resolver un error de clave, puede buscar una clave por adelantado antes de usarla y solo usarla si la clave existe. Puede usar un bloque try & hellip; except para manejar un error clave.

Para obtener consejos sobre còmo aprender el lenguaje de programaciòn Python, consulte nuestro completo Guìa de còmo aprender Python . En esta guìa encontrará vìnculos a los principales recursos de aprendizaje, libros y cursos.

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method