Mikä on KeyError Pythonissa? Sanakirja ja niiden käsittely



Tämä artikkeli antaa sinulle yksityiskohtaisen ja kattavan tiedon KeyErrorin ratkaisemisesta Pythonissa sanakirjassa.

Ennen kuin sukellamme KeyErroriin , on tärkeää tietää, miten sanakirja pythonissa on määritetty. Tässä artikkelissa käsitellään seuraavia viitteitä:

Sanakirja Pythonissa

käsite Pythonissa on satunnainen arvokokoelma, joka on tallentanut data-arvoja kuten kartta. Toisin kuin muut tietotyypit, joissa elementtinä on vain yksi arvo. Siinä on avain: arvopari.





KeyError Pythonissa

Avainarvo tekee siitä tehokkaamman. Kaksoispiste erottaa avain- ja arvoparin ja pilkku erottaa jokaisen avaimen. Tämä python-sanakirja toimii samalla tavalla kuin normaali sanakirja. Vastaavien avainten tulisi olla yksilöllisiä ja muuttumattomia tietotyyppejä, kuten merkkijonot, kokonaisluvut ja joukot, mutta avainarvot voidaan toistaa ja niiden voidaan antaa olla minkä tahansa tyyppisiä. Voi olla näppäimiä, jotka ovat merkkijonoja, jotka viittaavat numeroihin ja päinvastoin.



Katsotaanpa, miten sanakirja toimii alla koodatun esimerkin avulla.

# Tyhjän sanakirjan luominen Dict = {} tulosta ('Null dict:') tulosta (Dict) # Sanakirjan luominen kokonaisnäppäimillä Dict = {1: 'Hauska', 2: 'Ja', 3: 'Hullu'} tulosta ( 'nSanakirja kokonaislukunäppäimillä:') print (Dict) # Sanakirjan luominen sekanäppäimillä Dict = {'Nimi': 'Arun', 1: [12, 23, 34, 45]} tulosta ('nDictionary with sekaavaimien käyttö: ') print (Dict) # Sanakirjan luominen dict () -menetelmällä Dict = dict ({1:' saksa ', 2:' kieli ', 3:' on hauskaa '}) print (' nDictionary with dict (): '' print (Dict) # Sanakirja, jossa jokainen kohde on paridikta = dict ([(1, 'Hello'), (2, 'Bye')]) print ('nDictionary with each kohde parina: ') print (Dict)

KeyError Pythonissa

Koska meillä on selvää, mikä pythonin sanakirja on ja miten se toimii. Katsotaan nyt, mikä on keskeinen virhe. KeyError Pythonissa nousee, kun yrität käyttää avainta, jota ei ole sanakirjassa.



Kartoituslogiikka on tietorakenne, joka kartoittaa yhden joukon tietoja merkittäville muille. Siksi se on virhe, joka tulee esiin, kun kartoitusta käytetään ja sitä ei löydy. Se on tuttu hakuvirheelle, jossa semanttivirhe ilmoitetaan etsittävänä avaimena, ei löydy sen muistista. Tätä voidaan havainnollistaa paremmin alla olevassa koodissa.

on-ja on-suhde java

Yritän tässä käyttää avainta nimeltä D, jota ei ole sanakirjassa. Siksi virhe heitetään heti, kun se löytää poikkeuksen. Sanakirjassa jäljellä olevilla näppäimillä, jotka on tulostettu oikein, on kuitenkin niitä vastaavat tarkat arvot.

// age = {'A': 30, 'B': 28, 'C': 33} tulosta (ikät ['A']) tulosta (ikät ['B']) tulosta (ikät ['C']) tulosta (ikä [D]] //

KeyErrorin käsittelymekanismi Pythonissa

Jokainen, joka kohtaa KeyErrorin, voi käsitellä sitä vastuullisella tavalla. Hänen taitonsa on ottaa huomioon kaikki mahdolliset panokset tiettyyn ohjelmaan ja käsitellä kaikki epävarmat merkinnät onnistuneesti.

Käyttötapauksestasi riippuen jotkut näistä ratkaisuista saattavat olla parempia tai eivät välttämättä ole juuri etsimäsi ratkaisut. Lopullinen tavoite on kuitenkin estää odottamattomia keskeisiä virheitä koskevien poikkeusten ilmestyminen.

Jos virhe esiintyy sanakirjassa omassa koodissasi, voit purkaa joko määritetyn avaimen tai oletusarvon .get () -toiminnon avulla. Katsokaamme esimerkkiä.

// Luettelo hedelmistä ja niiden hinnoista. while (1): hedelmät = {'Apple': 300, 'Papaya': 128, 'Kiwi': 233} hedelmät = syöttö ('Hae hinta:') hedelmät1 = hedelmät.get (hedelmät) jos hedelmät1: tulosta ( f '{fruit} on {fruit1} rupiaa.') else: print (f '{fruit}: n kustannusta ei tunneta.')

Yleinen ratkaisu KeyErroriin

Tavallinen ratkaisu on, että voit aina käyttää try-paitsi-lohkoa tällaisten ongelmien ratkaisemiseen korottamalla asianmukaista koodia ja tarjoamalla varmuuskopioratkaisun. Katso alla oleva koodi selkeyden lisäämiseksi.

// while (1): age = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{henkilö} on { age [henkilö]} vuotta vanha. ') paitsi KeyError: print (f' {henkilön} ikää ei tunneta. ') //

Tällä tavoin olemme päässeet tämän KeyError-Python-artikkelin loppuun. Toivon, että tämä artikkeli oli informatiivinen valaisemaan Pythonin KeyError-poikkeusta ja kuinka sitä voitaisiin nostaa. Saatat myös olla tietoinen siitä, että jos ongelma on sanakirjan avainhaku omassa koodissasi, voit siirtyä avaimen käyttämisestä suoraan sanakirjasta käyttämään .get () -metodia oletuspalautusarvolla.

Jos ongelma ei tule omasta koodistasi, käytä try-paitsi-lohkoa koodin kulun hallintaan paremmin.

Voit saada syvällistä tietoa Pythonista sen eri sovellusten kanssa live-verkkokoulutukseen 24/7 tuella ja käyttöikä.

Onko sinulla kysymys meille? Mainitse ne ”KeyError in Python” -kommenttiosassa, niin palaamme sinuun.