Ano ang KeyError sa Python? Diksyonaryo at Paghawak sa Kanila



Magbibigay sa iyo ang artikulong ito ng isang detalyado at komprehensibong kaalaman tungkol sa kung paano lutasin ang KeyError sa Python sa Diksiyonaryo.

Bago kami sumisid sa KeyError sa , mahalagang malaman kung paano naka-set up ang isang diksyunaryo sa sawa. Tatalakayin ang artikulong ito sa artikulong ito:

Diksyonaryo sa Python

Ang konsepto sa Python ay isang random na koleksyon ng mga halaga, na kung saan ay naka-imbak ng mga halaga ng data tulad ng isang mapa. Hindi ito katulad ng ibang mga uri ng data na nagtataglay lamang ng isang solong halaga bilang isang elemento. Hawak nito ang susi: pares ng halaga.





KeyError sa Python

Ang pangunahing halaga ay ginagawang mas mahusay ito. Pinaghihiwalay ng isang colon ang isang key at pares ng halaga at isang 'kuwit' ang naghihiwalay sa bawat key. Ang diksyunaryo na ito sa python ay gumagana tulad ng isang normal na diksyunaryo. Ang kani-kanilang mga susi ay dapat na natatangi at hindi nababago ang mga uri ng data tulad ng mga string, integer, at tuple, ngunit ang mga pangunahing halaga ay maaaring maiulit at pinapayagan na maging ng anumang uri. Maaaring may mga susi, na kung saan ang mga string na tumutukoy sa mga numero at kabaligtaran.



Tingnan natin kung paano gumana ang isang diksyunaryo sa pamamagitan ng halimbawa ng naka-code sa ibaba.

# Lumilikha ng isang walang laman na Diksiyonaryo ng Dict = {} print ('Null dict:') print (Dict) # Paglikha ng Diksiyonaryo na may Integer Keys Dict = {1: 'Kasayahan', 2: 'At', 3: 'Frolic'} pag-print ( 'nDictionary gamit ang Integer Keys:') print (Dict) # Lumilikha ng Diksyonaryo na may Mixed keys Dict = {'Pangalan': 'Arun', 1: [12, 23, 34, 45]} naka-print ('nDictionary kasama ang paggamit ng Mixed Keys: ') print (Dict) # Paglikha ng isang Diksiyonaryo na may dikta () na pamamaraan Dict = dict ({1:' German ', 2:' wika ', 3:' ay masaya '}) print (' nDictionary with ang paggamit ng dict (): ') print (Dict) # Isang Diksyonaryo na mayroong bawat item bilang isang Pair Dict = dict ([(1,' Hello '), (2,' Bye ')]) print (' nDictionary sa bawat item bilang isang pares: ') print (Dict)

KeyError sa Python

Dahil malinaw namin kung ano ang isang diksyonaryo sa sawa at kung paano ito gumagana. Ngayon tingnan natin kung ano ang isang pangunahing error. Nakataas ang KeyError sa Python kapag tinangka mong i-access ang isang key na wala sa isang diksyunaryo.



Ang lohika ng pagmamapa ay isang istraktura ng data na nagma-map ang isang hanay ng data sa mga makabuluhang iba. Samakatuwid, ito ay isang error, na tinaasan kapag na-access ang pagmamapa at hindi nahanap. Pamilyar ito sa isang error sa paghanap kung saan ang semantic bug ay masasabi na ang key na iyong hinahanap ay hindi matagpuan sa memorya nito. Maaari itong mas mailarawan sa code sa ibaba.

kung paano makabuo ng isang random na string sa java

Narito sinusubukan kong i-access ang isang susi na tinatawag na 'D' na wala sa diksyunaryo. Samakatuwid, ang error ay itinapon sa lalong madaling makahanap ng isang pagbubukod. Gayunpaman, ang natitirang mga susi na naroroon sa diksyunaryo, na na-print nang tama, ay may eksaktong mga halaga na naaayon sa mga ito.

// age = {'A': 30, 'B': 28, 'C': 33} print (edad ['A']) print (edad ['B']) print (edad ['C']) print (edad ['D']) //

Paghawak ng Mekanismo para sa isang KeyError sa Python

Sinumang nakatagpo ng isang KeyError ay maaaring hawakan ito sa isang responsableng paraan. Kasanayan niya na isaalang-alang ang lahat ng posibleng mga input sa isang tiyak na programa at matagumpay na hawakan ang anumang walang katiyakan na mga entry.

Nakasalalay sa iyong kaso sa paggamit, ang ilan sa mga solusyon na ito ay maaaring mas mahusay o maaaring hindi rin ang eksaktong solusyon kung ano ang iyong hinahanap. Gayunpaman, ang panghuli layunin ay upang ihinto ang hindi inaasahang mga pagbubukod ng pangunahing error mula sa pag-pop up.

Kung ang isang error ay dinala mula sa isang diksyunaryo sa iyong sariling code, maaari mong gamitin ang .get () upang makuha ang alinman sa halaga sa tinukoy na key o isang default na halaga. Tingnan natin ang isang sample.

// Listahan ng mga prutas at kanilang mga presyo. habang (1): prutas = {'Apple': 300, 'Papaya': 128, 'Kiwi': 233} prutas = input ('Kumuha ng presyo para sa:') fruit1 = prutas.get (prutas) kung prutas1: print ( Ang f '{fruit} ay {fruit1} rupees.') iba pa: i-print (ang gastos ng 'prutas' ay hindi alam. ')

Isang Pangkalahatang Solusyon sa KeyError

Ang karaniwang solusyon ay maaari mong palaging gamitin ang try-maliban sa block upang malutas ang mga nasabing problema sa pamamagitan ng pagtaas ng naaangkop na code at magbigay ng isang backup na solusyon. Suriin ang code sa ibaba para sa higit na kalinawan.

// habang (1): age = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{person} is { edad [tao]} taong gulang. ') maliban sa KeyError: i-print (ang edad ng' {tao} ay hindi alam. ') //

Sa pamamagitan nito, natapos namin ang artikulong KeyError sa Python na ito. Inaasahan kong ang artikulong ito ay may kaalaman sa pagbato ng ilaw sa pagbubukod ng KeyError ng Python at kung paano ito mapataas. Gayundin, maaari mong magkaroon ng kamalayan ngayon na kung sakaling ang problema ay isang paghahanap ng key ng diksyonaryo sa iyong sariling code, pagkatapos ay maaari kang lumipat mula sa pag-access ng susi nang direkta sa diksyunaryo sa paggamit ng .get () na pamamaraan na may isang default na halaga ng pagbabalik.

Kung ang problema ay hindi nagmumula sa iyong sariling code, pagkatapos ay ang paggamit ng try-kecuali na bloke para sa mas mahusay na pagkontrol sa daloy ng iyong code.

Upang makakuha ng malalim na kaalaman sa Python kasama ang iba't ibang mga application nito, maaari mo para sa live na pagsasanay sa online na may suporta na 24/7 at habang-buhay na pag-access.

May tanong ba sa amin? Nabanggit ang mga ito sa seksyon ng mga komento ng 'KeyError sa Python' at babalikan ka namin.