Što je KeyError u Pythonu? Rječnik i rukovanje njima

Ovaj će vam članak pružiti detaljno i sveobuhvatno znanje o tome kako riješiti KeyError u Pythonu u rječniku.

Prije nego što zaronimo u KeyError u , važno je znati kako je postavljen rječnik u pythonu. U ovom će se članku raspravljati o sljedećim uputama:

Rječnik na Pythonu

The Koncept u Pythonu slučajna je zbirka vrijednosti koja sadrži pohranjene vrijednosti podataka poput karte. Za razliku od ostalih vrsta podataka koje kao element sadrže samo jednu vrijednost. Sadrži par ključ: vrijednost.



KeyError u Pythonu

Ključna vrijednost čini ga učinkovitijim. Dvotačka razdvaja par ključeva i vrijednosti, a 'zarez' odvaja svaki ključ. Ovaj rječnik u pythonu funkcionira slično uobičajenom rječniku. Odgovarajući ključevi trebali bi biti jedinstveni i nepromjenjivih vrsta podataka kao što su nizovi, cijeli brojevi i korice, ali ključevi / vrijednosti mogu se ponavljati i dopušteno je biti bilo koje vrste. Mogu biti ključevi koji su nizovi koji se odnose na brojeve i obrnuto.

Pogledajmo kako rječnik funkcionira kroz dolje kodirani primjer.

# Stvaranje praznog rječnika Dict = {} print ('Null dict:') print (Dict) # Stvaranje rječnika s cjelovitim tipkama Dict = {1: 'Zabava', 2: 'I', 3: 'Frolic'} print ( 'nDječnik s upotrebom cjelovitih tipki:') print (Dict) # Stvaranje rječnika s kombiniranim tipkama Dict = {'Name': 'Arun', 1: [12, 23, 34, 45]} print ('nDictionary s upotreba mješovitih tipki: ') print (Dict) # Stvaranje rječnika metodom dict () Dict = dict ({1:' njemački ', 2:' jezik ', 3:' zabavno je '}) print (' nDictionary with upotreba dict (): ') print (Dict) # Rječnik koji ima svaku stavku u paru Dict = dict ([(1,' Hello '), (2,' Bye ')]) print (' nD rečnik sa svakim stavka u paru: ') print (Dict)

KeyError u Pythonu

Budući da nam je jasno što je rječnik u pythonu i kako on funkcionira. Sada da vidimo što je ključna pogreška. KeyError u Pythonu pojavljuje se kada pokušate pristupiti ključu koji nije u rječniku.

Logika mapiranja je struktura podataka koja preslikava jedan skup podataka na značajne druge. Dakle, radi se o pogrešci koja se pojavljuje kada se pristupi mapiranju i ne pronađe. Poznata je pogreška pretraživanja u kojoj bi se semantička greška navela kao ključ koji tražite ne nalazi se u njegovoj memoriji. To se može bolje ilustrirati u donjem kodu.

fibonaccijev c ++ kod

Ovdje pokušavam pristupiti ključu nazvanom 'D' koji nije prisutan u rječniku. Stoga se pogreška baca čim pronađe iznimku. Međutim, preostali ključevi prisutni u rječniku, koji su ispravno ispisani, imaju točne vrijednosti koje im odgovaraju.

// dob = {'A': 30, 'B': 28, 'C': 33} ispis (dob ['A']) ispis (starost ['B']) ispis (dob ['C']) ispis (dob ['D']) //

Mehanizam rukovanja za KeyError u Pythonu

Svatko tko naiđe na KeyError može to odgovorno riješiti. Njegova je vještina razmotriti sve moguće ulaze u određeni program i uspješno se nositi s nesigurnim unosima.

Ovisno o vašem slučaju upotrebe, neka od ovih rješenja mogu biti bolja ili možda nisu točno rješenje koje tražite. Ipak, krajnji je cilj zaustaviti iskakanje neočekivanih izuzetaka ključnih pogrešaka.

Ako se pogreška donese iz rječnika u vašem vlastitom kodu, možete upotrijebiti .get () za izdvajanje vrijednosti na navedenom ključu ili zadane vrijednosti. Pogledajmo uzorak.

// Popis voća i njegove cijene. while (1): fruit = {'Apple': 300, 'Papaya': 128, 'Kiwi': 233} fruit = input ('Dobiti cijenu za:') fruit1 = fruit.get (fruit) if fruit1: print ( f '{fruit} je {fruit1} rupija.') else: print (trošak f '{fruit} -a je nepoznat.')

Generičko rješenje za KeyError

Uobičajeno rješenje je da uvijek možete upotrijebiti blok try-osim za rješavanje takvih problema podizanjem odgovarajućeg koda i pružanjem sigurnosnog rješenja. Pogledajte donji kod za veću jasnoću.

// while (1): dob = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{person} is { dob [osoba]} godina. ') osim KeyError: print (f' dob osobe {osobe} nije poznata. ') //

Ovime smo došli do kraja ove KeyError u članku Python. Nadam se da je ovaj članak bio informativan u rasvjetljavanju Pythonove iznimke KeyError i kako bi se mogao pokrenuti. Također, možda ste sada svjesni da u slučaju da je problem traženje ključa rječnika u vašem vlastitom kodu, tada možete prijeći s pristupa ključu izravno u rječniku na upotrebu metode .get () sa zadanom povratnom vrijednošću.

Ako problem ne dolazi iz vašeg vlastitog koda, tada koristite blok try-osim za bolju kontrolu tijeka vašeg koda.

Da biste stekli detaljno znanje o Pythonu, zajedno s raznim aplikacijama, to možete za mrežni trening uživo s podrškom 24/7 i doživotnim pristupom.

Imate pitanje za nas? Spomenite ih u odjeljku za komentare 'KeyError u Pythonu' i javit ćemo vam se.