Ce este KeyError în Python? Dicționar și tratarea lor



Acest articol vă va oferi o cunoaștere detaliată și cuprinzătoare despre cum să rezolvați KeyError în Python în dicționar.

Înainte să ne scufundăm în KeyError , este important să știți cum este configurat un dicționar în python. Următoarele indicații vor fi discutate în acest articol:

Dicționar în Python

conceptul în Python este o colecție aleatorie de valori, care a stocat valori de date ca o hartă. Este diferit de alte tipuri de date care dețin doar o singură valoare ca element. Deține cheia: pereche valoare.





KeyError în Python

Valoarea cheie îl face mai eficient. Un punct separă o pereche de chei și valori, iar o „virgulă” separă fiecare cheie. Acest dicționar în python funcționează similar cu un dicționar normal. Cheile respective ar trebui să fie unice și să aibă tipuri de date imuabile, cum ar fi șiruri, numere întregi și tupluri, dar valorile cheie pot fi iterate și este permis să fie de orice tip. Pot exista chei, care sunt șiruri care se referă la numere și invers.



Să ne uităm la modul în care funcționează un dicționar prin exemplul codat mai jos.

# Crearea unui dicționar gol Dict = {} print ('Null dict:') print (Dict) # Crearea dicționarului cu chei întregi Dict = {1: 'Fun', 2: 'And', 3: 'Frolic'} print ( 'nDictionary folosind cheile întregi:') print (Dict) # Crearea dicționarului cu taste mixte Dict = {'Name': 'Arun', 1: [12, 23, 34, 45]} print ('nDictionary cu utilizarea tastelor mixte: ') print (Dict) # Crearea unui dicționar cu metoda dict () Dict = dict ({1:' germană ', 2:' limba ', 3:' este distractiv '}) print (' nDictionary cu utilizarea dict (): ') print (Dict) # Un dicționar având fiecare element ca pereche Dict = dict ([(1,' Hello '), (2,' Bye ')]) print (' nDictionary cu fiecare element ca pereche: ') print (Dict)

KeyError în Python

Din moment ce suntem clari despre ce este un dicționar în python și cum funcționează. Acum, să vedem ce este o eroare cheie. KeyError în Python este activat atunci când încercați să accesați o cheie care nu se află într-un dicționar.



Logica de mapare este o structură de date care mapează un set de date la alții semnificativi. Prin urmare, este o eroare care apare atunci când maparea este accesată și nu este găsită. Este obișnuit o eroare de căutare în care bug-ul semantic ar fi menționat, deoarece cheia pe care o căutați nu se găsește în memoria sa. Acest lucru poate fi ilustrat mai bine în codul de mai jos.

transformare XML în informatica cu exemplu

Aici încerc să accesez o cheie numită „D” care nu este prezentă în dicționar. Prin urmare, eroarea este aruncată imediat ce găsește o excepție. Cu toate acestea, restul tastelor prezente în dicționar, care sunt tipărite corect, au valorile exacte care le corespund.

// vârste = {'A': 30, 'B': 28, 'C': 33} tipărire (vârste ['A']) tipărire (vârste ['B']) tipărire (vârste ['C']) print (vârste [„D”]) //

Mecanism de manipulare pentru KeyError în Python

Oricine întâlnește un KeyError îl poate gestiona într-un mod responsabil. Este abilitatea sa să ia în considerare toate intrările posibile într-un anumit program și să gestioneze cu succes orice intrare precară.

În funcție de cazul dvs. de utilizare, unele dintre aceste soluții ar putea fi mai bune sau ar putea să nu fie soluția exactă pe care o căutați. Cu toate acestea, scopul final este de a opri apariția excepțiilor neașteptate de erori cheie.

Dacă este adusă o eroare dintr-un dicționar din propriul cod, puteți utiliza .get () pentru a extrage fie valoarea de la cheia specificată, fie o valoare implicită. Să ne uităm la un eșantion.

// Lista fructelor și prețurile acestora. while (1): fruits = {'Apple': 300, 'Papaya': 128, 'Kiwi': 233} fruit = input ('Obțineți prețul pentru:') fruit1 = fruits.get (fruit) if fruit1: print ( f '{fruit} este {fruit1} rupii.') else: print (costul lui f '{fruit} este necunoscut.')

O soluție generică pentru KeyError

Soluția obișnuită este că puteți utiliza întotdeauna blocul try-except pentru a rezolva astfel de probleme prin ridicarea codului corespunzător și furnizarea unei soluții de rezervă. Consultați codul de mai jos pentru mai multă claritate.

// while (1): ages = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{person} is { vârste [persoană]} ani. ') cu excepția KeyError: print (f' {persoana} nu cunoaște vârsta. ') //

Cu aceasta, ajungem la sfârșitul acestui articol KeyError în Python. Sper că acest articol a fost informativ pentru a arunca o lumină asupra excepției KeyError din Python și cum ar putea fi ridicat. De asemenea, este posibil să știți acum că, în cazul în care problema este o căutare a cheii de dicționar în propriul cod, atunci puteți trece de la accesarea cheii direct în dicționar la utilizarea metodei .get () cu o valoare de returnare implicită.

Dacă problema nu provine din propriul cod, atunci utilizați blocul try-except pentru a controla mai bine fluxul de cod.

Pentru a obține cunoștințe aprofundate despre Python împreună cu diferitele sale aplicații, puteți pentru instruire online live cu asistență 24/7 și acces pe viață.

Ai o întrebare pentru noi? Menționați-le în secțiunea de comentarii din „KeyError în Python” și vă vom răspunde.