Какво представлява KeyError в Python? Речник и боравене с тях



Тази статия ще ви предостави подробни и изчерпателни знания за това как да разрешите KeyError в Python в речника.

Преди да се потопим в KeyError в , важно е да знаете как е създаден речник в python. Следните указания ще бъдат обсъдени в тази статия:

Речник на Python

The Концепцията в Python е произволна колекция от стойности, която съхранява стойности на данни като карта. За разлика от други типове данни, които съдържат само една стойност като елемент. Той съдържа двойката ключ: стойност.





KeyError в Python

Ключовата стойност го прави по-ефективен. Двоеточие разделя двойка ключ и стойност, а ‘запетая’ разделя всеки ключ. Този речник в python функционира подобно на нормален речник. Съответните ключове трябва да са уникални и от неизменяеми типове данни като низове, цели числа и кортежи, но ключовете-стойности могат да бъдат итерирани и е разрешено да бъдат от всякакъв тип. Може да има ключове, които са низове, които се отнасят до числа и обратно.



Нека да разгледаме как функционира речник чрез примера с кодиране по-долу.

# Създаване на празен речник Dict = {} print ('Null dict:') print (Dict) # Създаване на речник с целочислени клавиши Dict = {1: 'Fun', 2: 'And', 3: 'Frolic'} print ( 'nD Dictionary с използването на Integer Keys:') print (Dict) # Създаване на речник със смесени клавиши Dict = {'Name': 'Arun', 1: [12, 23, 34, 45]} print ('nDictionary with the използване на смесени клавиши: ') print (Dict) # Създаване на речник с метод dict () Dict = dict ({1:' немски ', 2:' език ', 3:' е забавно '}) print (' nD Dictionary с използването на dict (): ') print (Dict) # Речник, имащ всеки елемент като Pair Dict = dict ([(1,' Hello '), (2,' Bye ')]) print (' nD Dictionary с всеки елемент като двойка: ') print (Dict)

KeyError в Python

Тъй като сме наясно какво е речник в python и как работи. Сега нека видим каква е ключовата грешка. KeyError в Python се повдига, когато се опитвате да получите достъп до ключ, който не е в речник.



Логиката на картографирането е структура от данни, която преобразува един набор от данни в значими други. Следователно това е грешка, която се повдига, когато се осъществи достъп до картографирането и не се намери. Позната е грешка при търсене, при която семантичната грешка ще бъде посочена, тъй като ключът, който търсите, не може да бъде намерен в паметта му. Това може да бъде илюстрирано по-добре в кода по-долу.

аргументи на командния ред в примерния код на java

Тук се опитвам да вляза в ключ, наречен „D“, който не присъства в речника. Следователно грешката се изхвърля веднага щом намери изключение. Останалите ключове в речника, които са отпечатани правилно, имат точните стойности, съответстващи на тях.

// възрасти = {'A': 30, 'B': 28, 'C': 33} print (възраст ['A']) print (възраст ['B']) print (възраст ['C']) print (възрасти ['D']) //

Механизъм за обработка на KeyError в Python

Всеки, който срещне KeyError, може да се справи с него по отговорен начин. Неговото умение е да разгледа всички възможни входове в определена програма и да се справи успешно с всички несигурни записи.

В зависимост от случая на използване някои от тези решения може да са по-добри или да не са точното решение, което търсите. Въпреки това крайната цел е да се спре изскачащите неочаквани изключения на ключови грешки.

Ако се донесе грешка от речник във вашия собствен код, можете да използвате .get (), за да извлечете или стойността в посочения ключ, или стойността по подразбиране. Нека да разгледаме проба.

// Списък на плодовете и техните цени. while (1): плодове = {'Ябълка': 300, 'Папая': 128, 'Киви': 233} плод = вход ('Вземете цена за:') плод1 = плодове.get (плод) ако плод1: печат ( f '{fruit} е {fruit1} рупии.') else: print (цената на f '{fruit} е неизвестна.')

Общо решение за KeyError

Обичайното решение е, че винаги можете да използвате блока try-Osim за справяне с подобни проблеми, като издигнете подходящия код и осигурите решение за архивиране. Вижте кода по-долу за повече яснота.

// while (1): age = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{person} is { възрасти [човек]} години. ') с изключение на KeyError: print (f' възрастта на {person} е неизвестна. ') //

С това стигнахме до края на тази KeyError в статията на Python. Надявам се, че тази статия е информативна, за да хвърли светлина върху изключението KeyError на Python и как може да бъде повдигнато. Също така, може би вече сте наясно, че в случай че проблемът е търсене на речников ключ във вашия собствен код, тогава можете да превключите от достъп до ключа директно в речника към използването на метода .get () със стойност по подразбиране за връщане.

Ако проблемът не идва от вашия собствен код, тогава използвайте блока try-освен за по-добър контрол на потока на вашия код.

За да получите задълбочени познания за Python заедно с различните му приложения, можете за онлайн обучение на живо с 24/7 поддръжка и доживотен достъп.

Имате въпрос към нас? Споменете ги в раздела за коментари на „KeyError в Python“ и ние ще се свържем с вас.