Python

Python OrderedDict

Python OrderedDict

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 samlingsmodulet
importer 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 samlingsmodulet
importer 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 samlingsmodulet
importer 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 samlingsmodulet
importer 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.

Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...
Bedste apps til Gamepad Mapping til Linux
Hvis du kan lide at spille spil på Linux med en gamepad i stedet for et typisk tastatur- og musesystem, er der nogle nyttige apps til dig. Mange pc-sp...
Nyttige værktøjer til Linux-spillere
Hvis du kan lide at spille spil på Linux, er chancerne for, at du måske har brugt apps og hjælpeprogrammer som Wine, Lutris og OBS Studio for at forbe...