Datastrukturer er de viktigste komponentene i ethvert programmeringsspråk som lagrer og administrerer dataene effektivt. Python har mange innebygde datastrukturer, dvs.e., lister, tupler og ordbøker, som hjelper programmererne med å lage effektive applikasjoner. Python-ordbøkene lagrer dataene i nøkkelverdipar. OrderedDict er underklassen til dict-klassen og opprettholder rekkefølgen på nøklene som ble satt inn i. Dette er den eneste forskjellen mellom dikt og OrderDict. Diktaten opprettholder ikke nøkkelens rekkefølge.
OrderedDict beholder rekkefølgen på nøkkelinnsetting, og når vi går gjennom OrderedDict, returnerer den nøklene i samme rekkefølge. På den annen side, når iterasjonen utføres på dict, returneres tastene i tilfeldig rekkefølge. Ordbøkene er imidlertid nå bestilt i Python 3.6 og over versjoner og returnerer verdiene i samme rekkefølge som de er satt inn. OrderedDict-klassen finnes i samlingsmodulen. Hvis du vil bruke klassen OrderedDict, må du først importere samlingsmodulen. Denne artikkelen forklarer Python OrderedDict i detalj med eksempler.
Eksempler
La oss lage en OrderedDict i Python-skriptet og legge til dataene i form av nøkler og verdier. Elementene () er den innebygde Python-funksjonen som returnerer nøklene og verdsetter informasjonen.
#importing av samlingsmodulenimporter samlinger
#creating an OrderedDict
my_dict = samlinger.OrderedDict ()
my_dict ["A"] = 1
my_dict ["B"] = 2
my_dict ["C"] = 3
my_dict ["D"] = 4
#declaring a for loop to iterate through the OrderDict
for jeg i min_dikt.gjenstander ():
skrive ut (i)
Produksjon
I utgangen kan det observeres at OrderedDict returnerer nøklene og verdiene i det samme som satt inn.
La oss nå opprette en OrderDict av en student og lagre studentinformasjonen i den.
#importing av samlingsmodulenimporter samlinger
#creating an OrderedDict of student
std_dict = samlinger.OrderedDict ()
std_dict ['name'] = 'John'
std_dict ['alder'] = 23
std_dict ['email'] = '[e-postbeskyttet]'
std_dict ['class'] = 'BS'
#declaring a for loop to iterate through the OrderDict
for jeg i std_dict.gjenstander ():
skrive ut (i)
Produksjon
Endring av verdiene til tastene
Vi kan endre verdien på den spesifikke nøkkelen til OrderedDict. Hvis vi endrer verdien på en bestemt nøkkel, vil rekkefølgen på nøklene forbli den samme i OrderDict. La oss endre aldersverdien i studentens OrderDict.
#importing av samlingsmodulenimporter samlinger
#creating an OrderedDict of student
std_dict = samlinger.OrderedDict ()
std_dict ['name'] = 'John'
std_dict ['alder'] = 23
std_dict ['email'] = '[e-postbeskyttet]'
std_dict ['class'] = 'BS'
print ("Rekkefølgen på tastene før du endrer aldersverdien:")
#declaring a for loop to iterate through the OrderDict
for jeg i std_dict.gjenstander ():
skrive ut (i)
#endring av aldersverdien
std_dict ['alder'] = 25
print ("Rekkefølgen på tastene etter endring av aldersverdien:")
for jeg i std_dict.gjenstander ():
skrive ut (i)
Produksjon
Utgangen viser at rekkefølgen på tastene forblir den samme når vi endrer verdien på en bestemt tast.
Slette verdien fra OrderedDict
Slette verdiene fra OrderDict endrer ikke rekkefølgen på tastene. Hvis vi sletter en bestemt nøkkel og setter den inn igjen, blir den lagt til på slutten. La oss se et eksempel på det. Vi vil slette 'alder' -tasten fra studentordboken og deretter sette den inn igjen.
#importing av samlingsmodulenimporter samlinger
#creating an OrderedDict of student
std_dict = samlinger.OrderedDict ()
std_dict ['name'] = 'John'
std_dict ['alder'] = 23
std_dict ['email'] = '[e-postbeskyttet]'
std_dict ['class'] = 'BS'
print ("Rekkefølgen på tastene før du endrer aldersverdien:")
#declaring a for loop to iterate through the OrderDict
for jeg i std_dict.gjenstander ():
skrive ut (i)
#sletter aldersnøkkelen
del std_dict ['alder']
skriv ut ("Rekkefølgen på tastene etter å ha slettet aldersnøkkelen:")
for jeg i std_dict.gjenstander ():
skrive ut (i)
# sette inn aldersnøkkelen og verdien på nytt
std_dict ['alder'] = 23
skriv ut ("Rekkefølgen på tastene etter å ha satt inn aldersnøkkelen på nytt:")
for jeg i std_dict.gjenstander ():
skrive ut (i)
Produksjon
I utgangen kan det sees at når vi setter inn en nøkkel igjen, blir den satt inn på slutten.
Konklusjon
OrderedDict er underklassen til dict som ordner nøkkelen i rekkefølge og bevarer rekkefølgen når den settes inn. OrderedDict-klassen er en del av samlingsmodulen. Denne artikkelen forklarer OrderedDict, og dens funksjonalitet med eksempler.