Az adatstruktúrák minden olyan programozási nyelv alapvető elemei, amelyek hatékonyan tárolják és kezelik az adatokat. A Python sok beépített adatstruktúrát biztosít, azaz.e., listák, sorok és szótárak, amelyek segítenek a programozóknak hatékony alkalmazások létrehozásában. A Python szótárak kulcs-érték párokban tárolják az adatokat. A OrderedDict a dict osztály alosztálya, és fenntartja a kulcsok sorrendjét, amelyekbe beillesztették. Ez az egyetlen és egyetlen különbség a diktálás és a OrderDict között. A diktálás nem tartja fenn a kulcs rendjét.
A OrderedDict megtartja a kulcsok beillesztésének sorrendjét, és amikor iterálunk a OrderedDict segítségével, akkor a kulcsokat ugyanabban a sorrendben adja vissza. Másrészt, amikor az iterációt a dict-en hajtják végre, a kulcsokat véletlenszerű sorrendben adják vissza. A szótárakat azonban mostantól a Python 3 rendezi.6 és újabb verziók, és az értékeket a beszúrásukkal megegyező sorrendben adja vissza. A OrderedDict osztály létezik a gyűjtemény modulban. Ezért a OrderedDict osztály használatához először importálja a gyűjtemény modult. Ez a cikk példákkal részletesen elmagyarázza a Python OrderedDict programot.
Példák
Hozzunk létre egy OrderedDict-et a Python szkriptünkben, és adjuk hozzá az adatokat kulcsok és értékek formájában. Az items () a beépített Python függvény, amely visszaadja a kulcsokat és értékeket ad meg.
#importálás a gyűjtemények modulbólimport gyűjtemények
# rendezettDict létrehozása
my_dict = gyűjtemények.OrderedDict ()
my_dict ["A"] = 1
my_dict ["B"] = 2
my_dict ["C"] = 3
my_dict ["D"] = 4
#declaring egy for ciklust a OrderDict-en keresztüli iterációhoz
mert én a diktálomban.elemek ():
nyomtatás (i)
Kimenet
A kimenetben megfigyelhető, hogy a OrderedDict a beillesztettekkel megegyező módon adja vissza a kulcsokat és értékeket.
Most hozzunk létre egy másik OrderDict-et egy diákról, és tároljuk benne a hallgatói információkat.
#importálás a gyűjtemények modulbólimport gyűjtemények
#credingDict hallgató létrehozása
std_dict = gyűjtemények.OrderedDict ()
std_dict ['name'] = 'János'
std_dict ['age'] = 23
std_dict ['email'] = '[e-mail védett]'
std_dict ['class'] = 'BS'
#declaring egy for ciklust a OrderDict-en keresztüli iterációhoz
mert én az std_dict-ben.elemek ():
nyomtatás (i)
Kimenet
A kulcsok értékének megváltoztatása
Megváltoztathatjuk a OrderedDict adott kulcsának értékét. Ha megváltoztatjuk valamelyik kulcs értékét, a kulcsok sorrendje a OrderDict-ben változatlan marad. Változtassuk meg a korértéket a hallgató OrderDict-ben.
#importálás a gyűjtemények modulbólimport gyűjtemények
#credingDict hallgató létrehozása
std_dict = gyűjtemények.OrderedDict ()
std_dict ['name'] = 'János'
std_dict ['age'] = 23
std_dict ['email'] = '[e-mail védett]'
std_dict ['class'] = 'BS'
print ("A kulcsok sorrendje az életkor megváltoztatása előtt:")
#declaring egy for ciklust a OrderDict-en keresztüli iterációhoz
mert én az std_dict-ben.elemek ():
nyomtatás (i)
# a kor értékének megváltoztatása
std_dict ['age'] = 25
print ("A kulcsok sorrendje az életkor megváltoztatása után:")
mert én az std_dict-ben.elemek ():
nyomtatás (i)
Kimenet
A kimenet azt mutatja, hogy a kulcsok sorrendje ugyanaz marad, amikor megváltoztatjuk egy adott kulcs értékét.
Az érték törlése a OrderedDict alkalmazásból
Az értékek törlése a OrderDict-ből nem változtatja meg a kulcsok sorrendjét. Ha törölünk egy adott kulcsot, és újra behelyezzük, akkor a végén hozzáadódik. Lássunk rá egy példát. Töröljük az 'age' kulcsot a hallgatói szótárból, majd újra beillesztjük.
#importálás a gyűjtemények modulbólimport gyűjtemények
#credingDict hallgató létrehozása
std_dict = gyűjtemények.OrderedDict ()
std_dict ['name'] = 'János'
std_dict ['age'] = 23
std_dict ['email'] = '[e-mail védett]'
std_dict ['class'] = 'BS'
print ("A kulcsok sorrendje az életkor megváltoztatása előtt:")
#declaring egy for ciklust a OrderDict-en keresztüli iterációhoz
mert én az std_dict-ben.elemek ():
nyomtatás (i)
# a korkulcs törlése
del std_dict ['kor']
print ("A kulcsok sorrendje az életkori kulcs törlése után:")
mert én az std_dict-ben.elemek ():
nyomtatás (i)
# a korkulcs és az érték újbóli beillesztése
std_dict ['age'] = 23
print ("A kulcsok sorrendje az életkor kulcs újbóli behelyezése után:")
mert én az std_dict-ben.elemek ():
nyomtatás (i)
Kimenet
A kimenetben látható, hogy amikor újra behelyezünk egy kulcsot, akkor a végén kerül beillesztésre.
Következtetés
A OrderedDict a dict alosztálya, amely sorrendben rendezi a kulcsot és megőrzi a beillesztés sorrendjét. A OrderedDict osztály a gyűjtemény modul része. Ez a cikk elmagyarázza a OrderedDict szolgáltatást, és annak funkcionalitását példákkal szemlélteti.