Structurile de date sunt componentele esențiale ale oricărui limbaj de programare care stochează și gestionează datele eficient. Python oferă multe structuri de date încorporate, i.e., liste, tupluri și dicționare, care ajută programatorii să creeze aplicații eficiente. Dicționarele Python stochează datele în perechi cheie-valoare. OrderedDict este subclasa clasei dict și menține ordinea cheilor în care au fost inserate. Aceasta este singura diferență dintre dict și OrderDict. Dictatul nu menține ordinea cheii.
OrderedDict păstrează ordinea de inserare a cheilor, iar atunci când iterăm prin OrderedDict, atunci returnează cheile în aceeași ordine. Pe de altă parte, când iterația este efectuată pe dict, cheile sunt returnate în ordine aleatorie. Cu toate acestea, dicționarele sunt acum comandate în Python 3.6 și versiunile de mai sus și returnează valorile în aceeași ordine în care sunt inserate. Clasa OrderedDict există în modulul de colecții. Prin urmare, pentru a utiliza clasa OrderedDict, mai întâi, importați modulul de colecții. Acest articol explică Python OrderedDict în detaliu cu exemple.
Exemple
Să creăm un OrderedDict în scriptul nostru Python și să adăugăm datele sub formă de chei și valori. Itemii () este funcția Python încorporată care returnează informațiile despre chei și valori.
#importarea modulului de colecțiiimport colecții
#creating a OrderedDict
my_dict = colecții.OrderedDict ()
my_dict ["A"] = 1
my_dict ["B"] = 2
my_dict ["C"] = 3
my_dict ["D"] = 4
#declararea unei bucle for pentru a itera prin OrderDict
pentru i în decretul meu.articole ():
print (i)
Ieșire
În ieșire, se poate observa că OrderedDict returnează cheile și valorile la fel ca cele inserate.
Acum, să creăm un alt OrderDict al unui student și să stocăm informațiile despre elev în acesta.
#importarea modulului de colecțiiimport colecții
#crearea unui OrderedDict al studentului
std_dict = colecții.OrderedDict ()
std_dict ['name'] = 'John'
std_dict ['age'] = 23
std_dict ['email'] = '[e-mail protejat]'
std_dict ['class'] = 'BS'
#declararea unei bucle for pentru a itera prin OrderDict
pentru i în std_dict.articole ():
print (i)
Ieșire
Modificarea valorilor tastelor
Putem modifica valoarea cheii specifice din OrderedDict. Dacă schimbăm valoarea unei anumite chei, ordinea cheilor va rămâne aceeași în OrderDict. Să schimbăm valoarea de vârstă din OrderDict pentru elev.
#importarea modulului de colecțiiimport colecții
#crearea unui decret ordonat al studentului
std_dict = colecții.OrderedDict ()
std_dict ['name'] = 'John'
std_dict ['age'] = 23
std_dict ['email'] = '[e-mail protejat]'
std_dict ['class'] = 'BS'
print ("Ordinea tastelor înainte de modificarea valorii vârstei:")
#declararea unei bucle for pentru a itera prin OrderDict
pentru i în std_dict.articole ():
print (i)
#modificarea valorii vârstei
std_dict ['age'] = 25
print ("Ordinea tastelor după modificarea valorii vârstei:")
pentru i în std_dict.articole ():
print (i)
Ieșire
Rezultatul arată că ordinea tastelor rămâne aceeași atunci când schimbăm valoarea unei anumite chei.
Ștergerea valorii din OrderedDict
Ștergerea valorilor din OrderDict nu modifică ordinea tastelor. Dacă ștergem o anumită cheie și o reintroducem, atunci va fi adăugată la final. Să vedem un exemplu. Vom șterge cheia „vârstă” din dicționarul studenților și apoi o vom reintroduce.
#importarea modulului de colecțiiimport colecții
#crearea unui decret ordonat al studentului
std_dict = colecții.OrderedDict ()
std_dict ['name'] = 'John'
std_dict ['age'] = 23
std_dict ['email'] = '[e-mail protejat]'
std_dict ['class'] = 'BS'
print ("Ordinea tastelor înainte de modificarea valorii vârstei:")
#declararea unei bucle for pentru a itera prin OrderDict
pentru i în std_dict.articole ():
print (i)
# ștergerea tastei de vârstă
del std_dict ['age']
print („Ordinea tastelor după ștergerea tastei de vârstă:”)
pentru i în std_dict.articole ():
print (i)
# reintroducerea cheii de vârstă și a valorii
std_dict ['age'] = 23
print ("Ordinea tastelor după reintroducerea cheii de vârstă:")
pentru i în std_dict.articole ():
print (i)
Ieșire
În ieșire, se poate observa că atunci când reintroducem o cheie, aceasta se introduce la sfârșit.
Concluzie
OrderedDict este subclasa de dict care aranjează cheia în ordine și păstrează ordinea pe măsură ce sunt inserate. Clasa OrderedDict face parte din modulul de colecții. Acest articol explică OrderedDict și funcționalitatea acestuia cu exemple.