Hvad er KeyError i Python? Ordbog og håndtering af dem



Denne artikel giver dig en detaljeret og omfattende viden om, hvordan du løser KeyError i Python in Dictionary.

Før vi dykker ned i KeyError , er det vigtigt at vide, hvordan en ordbog i python er indstillet. Følgende punkter vil blive diskuteret i denne artikel:

Ordbog på Python

Det koncept i Python er en tilfældig samling af værdier, som har lagret dataværdier som et kort. Det er i modsætning til andre datatyper, der kun har en enkelt værdi som et element. Den har nøglen: værdipar.





KeyError i Python

Nøgleværdien gør det mere effektivt. Et kolon adskiller et nøgle- og værdipar, og et 'komma' adskiller hver nøgle. Denne ordbog i python fungerer som en normal ordbog. De respektive nøgler skal være unikke og af uforanderlige datatyper som strenge, heltal og tupler, men nøgleværdierne kan gentages og får lov til at være af enhver type. Der kan være taster, som er strenge, der henviser til tal og omvendt.



Lad os se på, hvordan en ordbog fungerer gennem eksemplet nedenfor.

# Oprettelse af en tom ordbog Dict = {} print ('Null dict:') print (Dict) # Oprettelse af ordbog med heltalstaster Dict = {1: 'Fun', 2: 'And', 3: 'Frolic'} print ( 'nDiction med brug af heltalstaster:') print (Dict) # Oprettelse af ordbog med blandede taster Dict = {'Name': 'Arun', 1: [12, 23, 34, 45]} print ('nDiction med brug af blandede taster: ') print (Dict) # Oprettelse af en ordbog med dict () metode Dict = dict ({1:' German ', 2:' language ', 3:' is fun '}) print (' nDiction with brugen af ​​dict (): ') print (Dict) # En ordbog, der har hvert element som et par Dict = dict ([(1,' Hello '), (2,' Bye ')]) print (' nDiction med hver element som et par: ') print (Dict)

KeyError i Python

Da vi er klare på, hvad en ordbog i python er, og hvordan den fungerer. Lad os nu se, hvad en nøglefejl er. KeyError i Python hæves, når du forsøger at få adgang til en nøgle, der ikke er i en ordbog.



Kortlægningslogikken er en datastruktur, der kortlægger et sæt data til vigtige andre. Derfor er det en fejl, der hæves, når der er adgang til kortlægningen og ikke findes. Det er kendt med en opslagsfejl, hvor den semantiske fejl ville blive angivet, da den nøgle, du leder efter, ikke findes i hukommelsen. Dette kan illustreres bedre i nedenstående kode.

hvordan man laver en fil i java

Her forsøger jeg at få adgang til en nøgle kaldet “D”, som ikke findes i ordbogen. Derfor smides fejlen, så snart den finder en undtagelse. De resterende taster, der findes i ordbogen, og som er udskrevet korrekt, har dog de nøjagtige værdier, der svarer til dem.

// ages = {'A': 30, 'B': 28, 'C': 33} print (alders ['A']) print (alders ['B']) print (alders ['C']) print (aldre ['D']) //

Håndteringsmekanisme til en KeyError i Python

Enhver, der støder på en KeyError, kan håndtere det på en ansvarlig måde. Det er hans dygtighed at overveje alle mulige input til et bestemt program og håndtere eventuelle usikre poster med succes.

Afhængigt af din brugstilfælde kan nogle af disse løsninger være bedre eller måske ikke være den nøjagtige løsning, hvad du leder efter. Ikke desto mindre er det endelige mål at stoppe uventede nøglefejlundtagelser fra at dukke op.

Hvis der hentes en fejl fra en ordbog i din egen kode, kan du bruge .get () til at udtrække enten værdien ved den angivne nøgle eller en standardværdi. Lad os se på en prøve.

// Liste over frugter og deres priser. mens (1): frugter = {'Æble': 300, 'Papaya': 128, 'Kiwi': 233} frugt = input ('Få pris for:') frugt1 = frugt. få (frugt) hvis frugt1: udskriv ( f '{fruit} er {fruit1} rupees.') andet: udskriv (f '{fruit} s omkostninger er ukendt.')

En generisk løsning på KeyError

Den sædvanlige løsning er, at du altid kan bruge prøve-undtagen-blokken til at tackle sådanne problemer ved at hæve den relevante kode og give en sikkerhedskopiløsning. Tjek nedenstående kode for mere klarhed.

// while (1): ages = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{person} er { aldre [person]} år gammel. ') undtagen KeyError: udskriv (f' {person} 's alder er ukendt.') //

Med dette kommer vi til en ende på denne KeyError i Python-artikel. Jeg håber, at denne artikel var informativ i at kaste lys over Pythons KeyError-undtagelse, og hvordan den kunne hæves. Du kan også være opmærksom på nu, at hvis problemet er en ordbogsnøgleopslag i din egen kode, kan du skifte fra at få adgang til nøglen direkte i ordbogen til at bruge metoden .get () med en standardreturværdi.

Hvis problemet ikke kommer fra din egen kode, skal du bruge prøve-undtagen-blokken til bedre at kontrollere din kodes flow.

For at få indgående kendskab til Python sammen med dens forskellige applikationer kan du til live online træning med support døgnet rundt og levetid adgang.

Har du et spørgsmål til os? Nævn dem i kommentarfeltet i “KeyError in Python”, så vender vi tilbage til dig.