Què és KeyError a Python? Diccionari i manipulació d’ells



Aquest article us proporcionarà un coneixement detallat i complet de com resoldre KeyError a Python al diccionari.

Abans de capbussar-nos a KeyError , és important saber com es configura un diccionari en python. En aquest article es discutiran els consells següents:

Diccionari a Python

El El concepte de Python és una col·lecció aleatòria de valors, que ha emmagatzemat valors de dades com un mapa. És diferent a altres tipus de dades que només contenen un valor únic com a element. Conté el parell clau: valor.





KeyError a Python

El valor clau el fa més eficient. Els dos punts separen un parell de claus i de valors i una 'coma' separa cada clau. Aquest diccionari de Python funciona de manera similar a un diccionari normal. Les claus respectives haurien de ser úniques i de tipus de dades immutables, com ara cadenes, enters i tuples, però els valors-clau es poden iterar i es pot permetre que siguin de qualsevol tipus. Hi pot haver claus, que són cadenes que fan referència a nombres i viceversa.



Vegem com funciona un diccionari a través de l’exemple que es codifica a continuació.

# Creació d'un diccionari buit Dict = {} print ('Null dict:') print (Dict) # Creació de diccionari amb claus enteres Dict = {1: 'Fun', 2: 'And', 3: 'Frolic'} print ( 'nDictionary amb l'ús de tecles enteres:') print (Dict) # Creació de diccionari amb tecles mixtes Dict = {'Name': 'Arun', 1: [12, 23, 34, 45]} print ('nDictionary with the ús de tecles mixtes: ') print (Dict) # Creació d'un diccionari amb el mètode dict () Dict = dict ({1:' alemany ', 2:' idioma ', 3:' és divertit '}) print (' nDictionary with l'ús de dict (): ') print (Dict) # Un diccionari que tingui cada element com a parell Dict = dict ([(1,' Hello '), (2,' Bye ')]) print (' nDictionary amb cada un ítem com a parell: ') imprimeix (Dictat)

KeyError a Python

Ja que tenim clar què és un diccionari en python i com funciona. Ara vegem què és un error clau. KeyError a Python es genera quan intenteu accedir a una clau que no es troba en un diccionari.



La lògica de mapatge és una estructura de dades que assigna un conjunt de dades a altres significatius. Per tant, es tracta d’un error que es produeix quan s’accedeix al mapatge i no es troba. És familiar un error de cerca en què s’indicaria l’error semàntic ja que la clau que esteu buscant no es troba a la memòria. Això es pot il·lustrar millor al codi següent.

què és una interfície de marcador a Java

Aquí intento accedir a una clau anomenada 'D' que no està present al diccionari. Per tant, l’error es produeix tan aviat com troba una excepció. Tot i això, la resta de claus presents al diccionari, que s’imprimeixen correctament, tenen els valors exactes que els corresponen.

// edats = {'A': 30, 'B': 28, 'C': 33} imprimir (edats ['A']) imprimir (edats ['B']) imprimir (edats ['C']) imprimir (edats ['D']) //

Mecanisme de maneig d'un KeyError a Python

Qualsevol persona que es troba amb un KeyError pot gestionar-lo d’una manera responsable. La seva habilitat és considerar totes les aportacions possibles a un determinat programa i gestionar les entrades precàries amb èxit.

Segons el cas d’ús, algunes d’aquestes solucions poden ser millors o potser no siguin la solució exacta que busqueu. No obstant això, l'objectiu final és evitar que apareguin excepcions inesperades d'errors clau.

Si es produeix un error d'un diccionari del vostre propi codi, podeu utilitzar .get () per extreure el valor de la clau especificada o un valor per defecte. Vegem-ne una mostra.

// Llista de fruites i els seus preus. while (1): fruits = {'Apple': 300, 'Papaya': 128, 'Kiwi': 233} fruit = input ('Obtenir preu per:') fruit1 = fruits.get (fruit) if fruit1: print ( f '{fruit} és {fruit1} rupies.') else: print (el cost de f '{fruit} és desconegut.')

Una solució genèrica per a KeyError

La solució habitual és que sempre podeu utilitzar el bloc try-except per solucionar aquests problemes elevant el codi adequat i proporcionant una solució de còpia de seguretat. Consulteu el codi següent per obtenir més claredat.

// while (1): ages = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{person} is { edats [persona]} anys. ') excepte KeyError: imprimir (no es coneix l'edat de f' {persona}. ') //

Amb això, arribem al final d’aquest article de KeyError a Python. Espero que aquest article sigui útil per posar de manifest l'excepció KeyError de Python i com es podria plantejar. A més, ara pot ser conscient que, en cas que el problema sigui una cerca de clau de diccionari al vostre propi codi, podeu passar d’accedir a la clau directament al diccionari a utilitzar el mètode .get () amb un valor de retorn predeterminat.

Si el problema no prové del vostre propi codi, feu servir el bloc try-except per controlar millor el flux del vostre codi.

Per obtenir un coneixement en profunditat de Python juntament amb les seves diverses aplicacions, podeu fer-ho per a formació en línia en directe amb assistència les 24 hores del dia, els 7 dies de la setmana i accés durant tota la vida

Tens alguna pregunta? Esmenteu-los a la secció de comentaris de 'KeyError a Python' i us respondrem.