Dátové štruktúry sú základnými súčasťami každého programovacieho jazyka, ktorý efektívne ukladá a spravuje údaje. Python poskytuje mnoho zabudovaných dátových štruktúr, t.j.e., zoznamy, n-tice a slovníky, ktoré programátorom pomáhajú vytvárať efektívne aplikácie. Slovník Python ukladá údaje do párov kľúč - hodnota. OrderedDict je podtrieda triedy dict a zachováva poradie kľúčov, do ktorých boli vložené. Toto je jediný a jediný rozdiel medzi dict a OrderDict. Rozsudok neudržiava poradie kľúča.
OrderedDict zachováva poradie vkladania kľúčov, a keď iterujeme OrderedDict, vráti kľúče v rovnakom poradí. Na druhej strane, keď sa iterácia vykonáva na základe príkazu dict, kľúče sa vrátia v náhodnom poradí. Slovníky sú však teraz zoradené v Pythone 3.6 a vyššie verzie a vráti hodnoty v rovnakom poradí, v akom sú vložené. V module zbierok existuje trieda OrderedDict. Preto, ak chcete použiť triedu OrderedDict, najskôr importujte modul zbierok. Tento článok podrobne vysvetľuje príklad Python OrderedDict.
Príklady
Vytvorme OrderedDict v našom skripte Python a pridajme údaje vo forme kľúčov a hodnôt. Položky () je vstavaná funkcia Pythonu, ktorá vracia informácie o kľúčoch a hodnotách.
#importovanie modulu zbierokimportovať zbierky
#vytvorenie OrderedDict
my_dict = zbierky.OrderedDict ()
my_dict ["A"] = 1
my_dict ["B"] = 2
my_dict ["C"] = 3
my_dict ["D"] = 4
# deklarovanie cyklu for na iteráciu cez OrderDict
lebo ja v mojom_dikte.položky ():
tlač (i)
Výkon
Na výstupe je možné pozorovať, že OrderedDict vracia kľúče a hodnoty rovnako ako vložené.
Teraz vytvorme ďalší OrderDict študenta a uložme doň informácie o študentovi.
#importovanie modulu zbierokimportovať zbierky
#vytvorenie objednanéhoDikt študenta
std_dict = zbierky.OrderedDict ()
std_dict ['name'] = 'Ján'
std_dict ['age'] = 23
std_dict ['email'] = '[chránený e-mailom]'
std_dict ['class'] = 'BS'
# deklarovanie cyklu for na iteráciu cez OrderDict
pre i v std_dict.položky ():
tlač (i)
Výkon
Zmena hodnôt kľúčov
Môžeme zmeniť hodnotu konkrétneho kľúča OrderedDict. Ak zmeníme hodnotu ktoréhokoľvek konkrétneho kľúča, poradie kľúčov zostane v OrderDict rovnaké. Zmeňme vekovú hodnotu v študentskom OrderDict.
#importovanie modulu zbierokimportovať zbierky
#vytvorenie objednanéhoDikt študenta
std_dict = zbierky.OrderedDict ()
std_dict ['name'] = 'Ján'
std_dict ['age'] = 23
std_dict ['email'] = '[chránený e-mailom]'
std_dict ['class'] = 'BS'
print ("Poradie kľúčov pred zmenou hodnoty veku:")
# deklarovanie cyklu for na iteráciu cez OrderDict
pre i v std_dict.položky ():
tlač (i)
# zmena hodnoty veku
std_dict ['age'] = 25
print ("Poradie klávesov po zmene hodnoty veku:")
pre i v std_dict.položky ():
tlač (i)
Výkon
Výstup ukazuje, že poradie klávesov zostáva rovnaké, keď zmeníme hodnotu konkrétneho klávesu.
Vymazanie hodnoty z OrderedDict
Vymazaním hodnôt z OrderDict sa nezmení poradie kľúčov. Ak konkrétny kľúč odstránime a znova vložíme, na konci sa pridá. Pozrime sa na príklad. Kľúč „vek“ odstránime zo študentského slovníka a potom ho znova vložíme.
#importovanie modulu zbierokimportovať zbierky
#vytvorenie objednanéhoDikt študenta
std_dict = zbierky.OrderedDict ()
std_dict ['name'] = 'Ján'
std_dict ['age'] = 23
std_dict ['email'] = '[chránený e-mailom]'
std_dict ['class'] = 'BS'
print ("Poradie kľúčov pred zmenou hodnoty veku:")
# deklarovanie cyklu for na iteráciu cez OrderDict
pre i v std_dict.položky ():
tlač (i)
#vymazanie kľúča veku
del std_dict ['vek']
print ("Poradie klávesov po odstránení klávesu veku:")
pre i v std_dict.položky ():
tlač (i)
# opätovné vloženie kľúča a hodnoty veku
std_dict ['age'] = 23
print ("Poradie kľúčov po opätovnom vložení kľúča veku:")
pre i v std_dict.položky ():
tlač (i)
Výkon
Na výstupe je vidieť, že keď znovu vložíme kľúč, vloží sa na koniec.
Záver
OrderedDict je podtrieda dict, ktorá usporiada kľúč v poradí a zachováva poradie pri ich vkladaní. Trieda OrderedDict je súčasťou modulu zbierok. Tento článok vysvetľuje OrderedDict a jeho funkčnosť s príkladmi.