Datastrukturer er de væsentlige komponenter i ethvert programmeringssprog, der gemmer og administrerer dataene effektivt. Python giver mange indbyggede datastrukturer, dvs.e., lister, tupler og ordbøger, der hjælper programmørerne med at skabe effektive applikationer. Python-ordbøgerne gemmer dataene i nøgleværdipar. OrderedDict er underklassen til dict-klassen og opretholder rækkefølgen af nøglerne, som blev indsat i. Dette er den eneste forskel mellem dict og OrderDict. Diktaten opretholder ikke nøglens rækkefølge.
OrderedDict holder rækkefølgen af nøgleindsættelse, og når vi gentager gennem OrderedDict, returnerer den nøglerne i samme rækkefølge. På den anden side, når iteration udføres på dict, returneres tasterne i tilfældig rækkefølge. Ordbøgerne er imidlertid nu bestilt i Python 3.6 og derover versioner og returnere værdierne i samme rækkefølge som de er indsat. Klassen OrderedDict findes i samlingsmodulet. Derfor skal du først importere samlingmodulet for at bruge klassen OrderedDict. Denne artikel forklarer Python OrderedDict i detaljer med eksempler.
Eksempler
Lad os oprette en OrderedDict i vores Python-script og tilføje dataene i form af nøgler og værdier. Elementer () er den indbyggede Python-funktion, der returnerer nøglerne og værdierne.
#importing af samlingsmoduletimporter 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 mit_dik.varer ():
udskrive (i)
Produktion
I output kan det observeres, at OrderedDict returnerer nøglerne og værdierne som de indsættes.
Lad os nu oprette en anden OrderDict af en studerende og gemme studentoplysningerne i den.
#importing af samlingsmoduletimporter samlinger
#creating an OrderedDict of student
std_dict = samlinger.OrderedDict ()
std_dict ['name'] = 'John'
std_dict ['alder'] = 23
std_dict ['email'] = '[e-mail-beskyttet]'
std_dict ['class'] = 'BS'
#declaring a for loop to iterate through the OrderDict
for jeg i std_dict.varer ():
udskrive (i)
Produktion
Ændring af tasternes værdier
Vi kan ændre værdien af den specifikke nøgle i OrderedDict. Hvis vi ændrer værdien på en bestemt nøgle, forbliver nøglenes rækkefølge den samme i OrderDict. Lad os ændre aldersværdien i den studerendes OrderDict.
#importing af samlingsmoduletimporter samlinger
#creating an OrderedDict of student
std_dict = samlinger.OrderedDict ()
std_dict ['name'] = 'John'
std_dict ['alder'] = 23
std_dict ['email'] = '[e-mail-beskyttet]'
std_dict ['class'] = 'BS'
print ("Rækkefølgen af tasterne før ændring af aldersværdien:")
#declaring a for loop to iterate through the OrderDict
for jeg i std_dict.varer ():
udskrive (i)
#ændring af aldersværdien
std_dict ['alder'] = 25
print ("Rækkefølgen af tasterne efter ændring af aldersværdien:")
for jeg i std_dict.varer ():
udskrive (i)
Produktion
Outputtet viser, at rækkefølgen af tasterne forbliver den samme, når vi ændrer værdien på en bestemt nøgle.
Sletning af værdien fra OrderedDict
Sletning af værdierne fra OrderDict ændrer ikke rækkefølgen på tasterne. Hvis vi sletter en bestemt nøgle og indsætter den igen, tilføjes den i slutningen. Lad os se et eksempel på det. Vi sletter 'aldersnøglen' fra elevordbogen og indsætter den derefter igen.
#importing af samlingsmoduletimporter samlinger
#creating an OrderedDict of student
std_dict = samlinger.OrderedDict ()
std_dict ['name'] = 'John'
std_dict ['alder'] = 23
std_dict ['email'] = '[e-mail-beskyttet]'
std_dict ['class'] = 'BS'
print ("Rækkefølgen af tasterne inden ændring af aldersværdien:")
#declaring a for loop to iterate through the OrderDict
for jeg i std_dict.varer ():
udskrive (i)
#sletter aldersnøglen
del std_dict ['alder']
print ("Rækkefølgen af tasterne efter sletning af aldersnøglen:")
for jeg i std_dict.varer ():
udskrive (i)
# genindsættelse af aldersnøgle og værdi
std_dict ['alder'] = 23
print ("Rækkefølgen af tasterne efter genindsættelse af aldersnøglen:")
for jeg i std_dict.varer ():
udskrive (i)
Produktion
I output kan det ses, at når vi genindsætter en nøgle, indsættes den i slutningen.
Konklusion
OrderedDict er underklassen til dict, der arrangerer nøglen i rækkefølge og bevarer ordren, når de indsættes. Klassen OrderedDict er en del af samlingsmodulet. Denne artikel forklarer OrderedDict, og dens funktionalitet med eksempler.