Wat is KeyError in Python? Woordenboek en omgaan met hen



Dit artikel biedt u een gedetailleerde en uitgebreide kennis van het oplossen van KeyError in Python in Dictionary.

Voordat we in KeyError duiken , is het belangrijk om te weten hoe een woordenboek in python is opgezet. In dit artikel komen de volgende punten aan bod:

Woordenboek in Python

De concept in Python is een willekeurige verzameling waarden, die gegevenswaarden heeft opgeslagen als een kaart. Het is in tegenstelling tot andere gegevenstypen die slechts één waarde als element bevatten. Het bevat de sleutel: waardepaar.





KeyError in Python

De belangrijkste waarde maakt het efficiënter. Een dubbele punt scheidt een sleutel- en waardepaar en een ‘komma’ scheidt elke sleutel. Dit woordenboek in python werkt vergelijkbaar met een normaal woordenboek. De respectieve sleutels moeten uniek zijn en van onveranderlijke gegevenstypen zoals strings, gehele getallen en tupels, maar de sleutelwaarden kunnen worden herhaald en mogen van elk type zijn. Er kunnen toetsen zijn, dit zijn tekenreeksen die naar cijfers verwijzen en vice versa.



Laten we eens kijken hoe een woordenboek functioneert aan de hand van het onderstaande gecodeerde voorbeeld.

# Creëren van een leeg woordenboek Dict = {} print ('Null dict:') print (Dict) # Creëren van een woordenboek met gehele toetsen Dict = {1: 'Fun', 2: 'And', 3: 'Frolic'} print ( 'nDictionary with the use of Integer Keys:') print (Dict) # Woordenboek aanmaken met gemengde toetsen Dict = {'Name': 'Arun', 1: [12, 23, 34, 45]} print ('nDictionary with the gebruik van gemengde toetsen: ') print (Dict) # Een woordenboek maken met de methode dict () Dict = dict ({1:' German ', 2:' language ', 3:' is fun '}) print (' nDictionary with het gebruik van dict (): ') print (Dict) # Een woordenboek met elk item als een Pair Dict = dict ([(1,' Hello '), (2,' Bye ')]) print (' nDictionary with each item als paar: ') print (Dict)

KeyError in Python

Omdat we duidelijk zijn over wat een woordenboek in python is en hoe het werkt. Laten we nu eens kijken wat een belangrijke fout is. KeyError in Python wordt gegenereerd wanneer u probeert toegang te krijgen tot een sleutel die niet in een woordenboek staat.



De mappinglogica is een datastructuur die de ene set gegevens toewijst aan significante andere. Daarom is het een fout die wordt veroorzaakt wanneer de mapping wordt geopend en niet wordt gevonden. Het is bekend bij een opzoekfout waarbij de semantische fout zou worden vermeld als de sleutel waarnaar u op zoek bent, niet in het geheugen te vinden is. Dit kan beter worden geïllustreerd in de onderstaande code.

hoe geneste tabellen in html te maken

Hier probeer ik toegang te krijgen tot een sleutel genaamd 'D' die niet aanwezig is in het woordenboek. Daarom wordt de fout gegenereerd zodra er een uitzondering wordt gevonden. De resterende sleutels in het woordenboek, die correct zijn afgedrukt, hebben echter de exacte waarden die ermee overeenkomen.

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

Afhandelingsmechanisme voor een KeyError in Python

Iedereen die een KeyError tegenkomt, kan er op een verantwoorde manier mee omgaan. Het is zijn vaardigheid om alle mogelijke invoer voor een bepaald programma in overweging te nemen en eventuele precaire invoer met succes af te handelen.

Afhankelijk van uw gebruiksscenario zijn sommige van deze oplossingen wellicht beter of niet de exacte oplossing waarnaar u op zoek bent. Desalniettemin is het uiteindelijke doel om te voorkomen dat onverwachte uitzonderingen op belangrijke fouten opduiken.

Als er een fout uit een woordenboek in uw eigen code komt, kunt u .get () gebruiken om de waarde met de opgegeven sleutel of een standaardwaarde te extraheren. Laten we een voorbeeld bekijken.

// Lijst met fruit en hun prijzen. while (1): fruits = {'Apple': 300, 'Papaya': 128, 'Kiwi': 233} fruit = input ('Get price for:') fruit1 = fruits.get (fruit) if fruit1: print ( f '{fruit} is {fruit1} roepies.') else: print (f '{fruit}' s kosten zijn onbekend. ')

Een algemene oplossing voor KeyError

De gebruikelijke oplossing is dat u altijd het try-behalve-blok kunt gebruiken om dergelijke problemen aan te pakken door de juiste code te verhogen en een back-upoplossing te bieden. Bekijk de onderstaande code voor meer duidelijkheid.

// while (1): leeftijden = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{person} is { leeftijden [persoon]} jaar oud. ') behalve KeyError: print (f' de leeftijd van {person} is onbekend. ') //

Hiermee komen we aan het einde van dit KeyError in Python-artikel. Ik hoop dat dit artikel informatief was om licht te werpen op de KeyError-uitzondering van Python en hoe deze naar voren kon worden gebracht. Mogelijk weet u nu ook dat als het probleem het opzoeken van een woordenboeksleutel in uw eigen code is, u kunt overschakelen van toegang tot de sleutel rechtstreeks in het woordenboek naar het gebruik van de .get () - methode met een standaard retourwaarde.

Als het probleem niet door uw eigen code wordt veroorzaakt, gebruik dan het try-behalve-blok om de stroom van uw code beter te beheersen.

Om diepgaande kennis van Python en zijn verschillende toepassingen te krijgen, kunt u dat voor live online training met 24/7 ondersteuning en levenslange toegang.

Heeft u een vraag voor ons? Noem ze in het commentaargedeelte van 'KeyError in Python' en we nemen zo spoedig mogelijk contact met je op.