Co je KeyError v Pythonu? Slovník a manipulace s nimi



Tento článek vám poskytne podrobné a komplexní znalosti o tom, jak vyřešit KeyError v Pythonu ve slovníku.

Než se ponoříme do KeyError , je důležité vědět, jak je nastaven slovník v pythonu. V tomto článku se budeme zabývat následujícími ukazateli:

Slovník v Pythonu

The concept in Python is a random collection of values, which has stored data values ​​like a map. Je to na rozdíl od jiných datových typů, které obsahují pouze jednu hodnotu jako prvek. Obsahuje pár klíč: hodnota.





KeyError v Pythonu

Díky klíčové hodnotě je efektivnější. Dvojtečka odděluje pár klíčů a hodnot a čárka odděluje každý klíč. Tento slovník v pythonu funguje podobně jako normální slovník. Příslušné klíče by měly být jedinečné a neměnné datové typy, jako jsou řetězce, celá čísla a n-tice, ale páry klíč – hodnota lze iterovat a je povoleno mít jakýkoli typ. Mohou existovat klíče, což jsou řetězce, které odkazují na čísla a naopak.



Pojďme se podívat na to, jak slovník funguje, pomocí níže uvedeného příkladu.

# Vytvoření prázdného slovníku Dict = {} print ('Null dict:') print (Dict) # Vytvoření slovníku pomocí Integer Keys Dict = {1: 'Fun', 2: 'And', 3: 'Frolic'} print ( 'nDictionary s použitím Integer Keys:') print (Dict) # Vytvoření slovníku se smíšenými klávesami Dict = {'Name': 'Arun', 1: [12, 23, 34, 45]} print ('nDictionary s použití Mixed Keys: ') print (Dict) # Vytvoření slovníku metodou dict () Dict = dict ({1:' German ', 2:' language ', 3:' is fun '}) print (' nDictionary with použití dict (): ') print (Dict) # Slovník, který má každou položku jako Pair Dict = dict ([(1,' Hello '), (2,' Bye ')]) print (' nDictionary with each položka jako pár: ') print (Dict)

KeyError v Pythonu

Protože máme jasno v tom, co je slovník v pythonu a jak funguje. Nyní se podívejme, co je klíčová chyba. KeyError v Pythonu se vyvolá při pokusu o přístup ke klíči, který není ve slovníku.



Logika mapování je datová struktura, která mapuje jednu sadu dat na významné jiné. Jedná se tedy o chybu, která je vyvolána při přístupu k mapování a nenalezení. Je známá chyba vyhledávání, kde by byla uvedena sémantická chyba, protože klíč, který hledáte, nelze v jeho paměti najít. To lze lépe ilustrovat v níže uvedeném kódu.

Začínáme s pracovním stolem mysql

Zde se pokouším získat přístup ke klíči s názvem „D“, který není ve slovníku. Proto je chyba vyvolána, jakmile najde výjimku. Zbývající klíče přítomné ve slovníku, které jsou vytištěny správně, však mají přesné hodnoty, které jim odpovídají.

// age = {'A': 30, 'B': 28, 'C': 33} tisk (věk ['A']) tisk (věk ['B']) tisk (věk ['C']) tisk (věk ['D']) //

Mechanismus zpracování pro KeyError v Pythonu

Každý, kdo narazí na KeyError, to zvládne zodpovědně. Jeho schopností je zvážit všechny možné vstupy do určitého programu a úspěšně zvládnout všechny nejisté vstupy.

V závislosti na vašem případu použití mohou být některá z těchto řešení lepší nebo také nemusí být přesným řešením, které hledáte. Konečným cílem je však zabránit tomu, aby se objevily neočekávané výjimky z klíčových chyb.

Pokud je chyba přinesena ze slovníku ve vašem vlastním kódu, můžete použít .get () k extrahování hodnoty na zadaném klíči nebo výchozí hodnoty. Pojďme se podívat na ukázku.

// Seznam ovoce a jejich ceny. 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} rupees.') else: print (náklady 'f' {fruit} nejsou známy. ')

Obecné řešení KeyError

Obvyklým řešením je, že k vyřešení těchto problémů můžete vždy použít blok try-except zvýšením příslušného kódu a poskytnutím záložního řešení. Pro větší přehlednost se podívejte na níže uvedený 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. ') kromě KeyError: print (věk f' {person} není znám. ') //

S tímto se dostáváme na konec tohoto KeyError v článku v Pythonu. Doufám, že tento článek byl poučný při objasňování výjimky KeyError v Pythonu a toho, jak by mohla být vyvolána. Možná si nyní uvědomíte, že v případě, že problémem je vyhledání klíče slovníku ve vašem vlastním kódu, můžete přepnout z přístupu ke klíči přímo ve slovníku na použití metody .get () s výchozí návratovou hodnotou.

Pokud problém nepochází z vašeho vlastního kódu, použijte blok try-kromě pro lepší kontrolu toku kódu.

Chcete-li získat podrobné znalosti Pythonu a jeho různých aplikací, můžete pro živé online školení s 24/7 podporou a celoživotním přístupem.

Máte na nás dotaz? Uveďte je v sekci komentářů v části „KeyError v Pythonu“ a my se vám ozveme.