Čo je KeyError v Pythone? Slovník a manipulácia s nimi



Tento článok vám poskytne podrobné a komplexné vedomosti o tom, ako vyriešiť KeyError v jazyku Python v slovníku.

Predtým, ako sa ponoríme do programu KeyError , je dôležité vedieť, ako je nastavený slovník v pythone. V tomto článku sa budeme zaoberať nasledujúcimi ukazovateľmi:

Slovník v Pythone

The koncept v Pythone je náhodná zbierka hodnôt, ktorá má uložené hodnoty dát ako mapa. Je to na rozdiel od iných dátových typov, ktoré ako prvok obsahujú iba jednu hodnotu. Drží pár kľúč: hodnota.





KeyError v Pythone

Kľúčová hodnota zvyšuje jeho efektívnosť. Dvojbodka oddeľuje pár kľúčov a hodnôt a čiarka oddeľuje každý kľúč. Tento slovník v pythone funguje podobne ako normálny slovník. Príslušné kľúče by mali byť jedinečné a nemenné dátové typy, ako sú reťazce, celé čísla a n-tice, ale páry kľúč - hodnota je možné opakovať a môže mať akýkoľvek typ. Môžu existovať klávesy, ktoré sú reťazcami odkazujúcimi na čísla a naopak.



Pozrime sa na to, ako slovník funguje, pomocou nižšie kódovaného príkladu.

# Vytvorenie prázdneho slovníka Dict = {} print ('Null dict:') print (Dict) # Vytvorenie slovníka s klávesami Integer Dict = {1: 'Fun', 2: 'And', 3: 'Frolic'} print ( 'nDictionary s použitím Integer Keys:') print (Dict) # Vytvorenie slovníka so zmiešanými klávesmi Dict = {'Name': 'Arun', 1: [12, 23, 34, 45]} print ('nDictionary s použitie Mixed Keys: ') print (Dict) # Vytvorenie slovníka metódou dict () Dict = dict ({1:' German ', 2:' language ', 3:' is fun '}) print (' nDictionary with použitie dict (): ') print (Dict) # Slovník obsahujúci každú položku ako Pair Dict = dict ([(((1,' Hello '), (2,' Bye ')])) print (' nDictionary s každým položka ako pár: ') print (Dict)

KeyError v Pythone

Pretože máme jasno v tom, čo je slovník v pythone a ako funguje. Teraz sa pozrime, čo je kľúčová chyba. KeyError v Pythone sa vyvolá pri pokuse o prístup ku kľúču, ktorý nie je v slovníku.



Logika mapovania je dátová štruktúra, ktorá mapuje jednu množinu údajov na významné ďalšie. Preto sa jedná o chybu, ktorá sa vyvolá pri prístupe k mapovaniu a nenájdení. Je známa chyba pri vyhľadávaní, kde by bola uvedená sémantická chyba, pretože hľadaný kľúč sa v jeho pamäti nenachádza. Toto je možné lepšie ilustrovať v nasledujúcom kóde.

čo je dax v moci bi

Tu sa pokúšam získať prístup ku kľúču s názvom „D“, ktorý sa nenachádza v slovníku. Preto sa chyba vyhodí hneď, ako zistí výnimku. Zvyšné kľúče nachádzajúce sa v slovníku, ktoré sú vytlačené správne, však majú presné hodnoty, ktoré im zodpovedajú.

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

Mechanizmus spracovania pre KeyError v Pythone

Každý, kto sa stretne s chybou KeyError, ju môže zvládnuť zodpovedne. Je v jeho kompetencii zvážiť všetky možné vstupy do určitého programu a úspešne zvládnuť všetky neisté vstupy.

V závislosti na vašom prípade použitia môžu byť niektoré z týchto riešení lepšie alebo tiež nemusia byť presným riešením, ktoré hľadáte. Konečným cieľom je napriek tomu zabrániť tomu, aby sa objavili neočakávané výnimky z kľúčových chýb.

Ak sa vyskytne chyba zo slovníka vo vašom vlastnom kóde, môžete pomocou .get () extrahovať buď hodnotu zadaného kľúča, alebo predvolenú hodnotu. Pozrime sa na ukážku.

// Zoznam ovocia a ich ceny. while (1): fruits = {'Apple': 300, 'Papaya': 128, 'Kiwi': 233} ovocie = vstup ('Získať cenu za:') ovocie1 = ovocie.get (ovocie) ak ovocie1: tlač ( f '{fruit} is {fruit1} rupees.') else: print (náklady 'f' {fruit} nie sú známe. ')

Všeobecné riešenie KeyError

Zvyčajným riešením je, že na vyriešenie týchto problémov môžete vždy použiť blok try-except zvýšením príslušného kódu a poskytnutím záložného riešenia. Pre väčšiu prehľadnosť si pozrite nasledujúci kód.

// while (1): age = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{person} is { age [person]} years old. ') okrem KeyError: print (vek osoby' {person} nie je známy. ') //

Týmto sa dostávame na koniec tohto článku o KeyError v Pythone. Dúfam, že tento článok poskytol informačné informácie o výnimke Python’s KeyError a o tom, ako by sa dala zvýšiť. Možno si teraz uvedomíte, že v prípade, že problémom je hľadanie kľúča slovníka vo vašom vlastnom kóde, môžete prepnúť z prístupu ku kľúču priamo v slovníku na použitie metódy .get () s predvolenou návratovou hodnotou.

Ak problém nepochádza z vášho vlastného kódu, použite blok try-kromě na lepšiu kontrolu toku kódu.

Ak chcete získať podrobné informácie o Pythone a jeho rôznych aplikáciách, môžete pre živé online školenie s nepretržitou podporou a doživotným prístupom.

Máte na nás otázku? Uveďte ich v sekcii komentárov „KeyError v Pythone“ a my sa vám ozveme.