Vad är KeyError i Python? Ordbok och hantering av dem



Den här artikeln ger dig en detaljerad och omfattande kunskap om hur du löser KeyError i Python in Dictionary.

Innan vi dyker in i KeyError in , är det viktigt att veta hur en ordbok i python är inställd. Följande tips kommer att diskuteras i den här artikeln:

Ordbok på Python

De konceptet i Python är en slumpmässig samling värden, som har lagrat datavärden som en karta. Det skiljer sig från andra datatyper som bara innehåller ett enda värde som ett element. Det innehåller nyckeln: värdepar.





KeyError i Python

Nyckelvärdet gör det mer effektivt. Ett kolon separerar ett nyckel- och värdepar och ett 'komma' separerar varje nyckel. Denna ordbok i python fungerar som en vanlig ordbok. De respektive nycklarna bör vara unika och av oföränderliga datatyper som strängar, heltal och tuples, men nyckelvärdena kan iteras och får vara av vilken typ som helst. Det kan finnas tangenter, som är strängar som hänvisar till siffror och vice versa.



Låt oss ta en titt på hur en ordlista fungerar genom exemplet nedan.

# Skapa en tom ordbok Dict = {} print ('Null dict:') print (Dict) # Skapa ordbok med heltalstangenter Dict = {1: 'Fun', 2: 'And', 3: 'Frolic'} print ( 'nDiction med användning av heltalstangenter:') print (Dict) # Skapa ordbok med blandade tangenter Dict = {'Name': 'Arun', 1: [12, 23, 34, 45]} print ('nDiction med användning av blandade tangenter: ') print (Dict) # Skapa en ordbok med dict () -metod Dict = dict ({1:' German ', 2:' language ', 3:' is fun '}) print (' nDiction with användningen av dict (): ') print (Dict) # A Dictionary som har varje objekt som Pair Dict = dict ([(1,' Hello '), (2,' Bye ')]) print (' nDiction med varje objekt som ett par: ') print (Dict)

KeyError i Python

Eftersom vi är tydliga på vad en ordbok på python är och hur den fungerar. Låt oss nu se vad ett nyckelfel är. KeyError i Python höjs när du försöker komma åt en nyckel som inte finns i en ordlista.



Kartläggningslogiken är en datastruktur som mappar en uppsättning data till betydande andra. Därför är det ett fel som tas upp när kartläggningen nås och inte hittas. Det är bekant med ett uppslagsfel där det semantiska felet skulle anges som nyckeln du letar efter inte finns i dess minne. Detta kan illustreras bättre i koden nedan.

kommandoradsargument i javas exempelkod

Här försöker jag komma åt en nyckel som heter “D” som inte finns i ordboken. Därför kastas felet så fort det hittar ett undantag. De återstående tangenterna i ordboken, som skrivs ut korrekt, har dock de exakta värdena som motsvarar dem.

// åldrar = {'A': 30, 'B': 28, 'C': 33} tryck (åldrar ['A']) utskrift (åldrar ['B']) utskrift (åldrar ['C']) skriv ut (åldrar ['D']) //

Hanteringsmekanism för en KeyError i Python

Den som stöter på en KeyError kan hantera den på ett ansvarsfullt sätt. Det är hans skicklighet att överväga alla möjliga insatser till ett visst program och hantera alla osäkra poster framgångsrikt.

Beroende på ditt användningsfall kan vissa av dessa lösningar vara bättre eller kanske inte heller den exakta lösningen vad du letar efter. Ändå är det slutliga målet att förhindra oväntade undantag från viktiga fel från att dyka upp.

Om ett fel kommer från en ordbok i din egen kod kan du använda .get () för att extrahera antingen värdet vid den angivna nyckeln eller ett standardvärde. Låt oss ta en titt på ett exempel.

// Lista över frukter och deras priser. medan (1): frukter = {'Äpple': 300, 'Papaya': 128, 'Kiwi': 233} frukt = input ('Få pris för:') frukt1 = frukter. få (frukt) om frukt1: skriv ut ( f '{fruit} är {fruit1} rupees.') annat: tryck (f '{fruit} s kostnad är okänd.')

En generisk lösning på KeyError

Den vanliga lösningen är att du alltid kan använda försöks-undantagsblocket för att ta itu med sådana problem genom att höja rätt kod och tillhandahålla en reservlösning. Kolla in koden nedan för mer tydlighet.

// while (1): ages = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{person} är { åldrar [person]} år gammal. ') utom KeyError: skriv ut (f' {person}: s ålder är okänd. ') //

Med detta kommer vi till ett slut på denna KeyError i Python-artikeln. Jag hoppas att den här artikeln var informativ när det gällde Pythons KeyError-undantag och hur den kunde tas upp. Du kanske också är medveten om att om problemet är en ordboksnyckelsökning i din egen kod, kan du växla från att komma åt nyckeln direkt i ordlistan till att använda .get () -metoden med ett standardreturvärde.

Om problemet inte kommer från din egen kod använder du försöks-undantagsblocket för bättre kontroll av kodens flöde.

För att få fördjupad kunskap om Python tillsammans med dess olika applikationer kan du för live onlineträning med support dygnet runt och livstidsåtkomst.

Har du en fråga till oss? Nämn dem i kommentarsektionen i ”KeyError in Python” så återkommer vi till dig.