Python

Python OrderedDict

Python OrderedDict

Podatkovne strukture so bistvene sestavine katerega koli programskega jezika, ki učinkovito shranjujejo in upravljajo podatke. Python ponuja številne vgrajene podatkovne strukture, tj.e., seznami, nabori in slovarji, ki programerjem pomagajo pri ustvarjanju učinkovitih aplikacij. Slovarji Python podatke shranjujejo v parih ključ-vrednost. OrderedDict je podrazred razreda dict in vzdržuje vrstni red tipk, v katere so bili vstavljeni. To je ena in edina razlika med diktom in OrderDictom. Dikt ne ohranja vrstnega reda ključa.

OrderedDict ohrani vrstni red vstavljanja ključev, in ko preletimo OrderedDict, vrne ključe v istem vrstnem redu. Po drugi strani pa, ko se ponovitev izvede na dict-u, se ključi vrnejo v naključnem vrstnem redu. Vendar so slovarji zdaj razvrščeni v Python 3.6 in novejše različice ter vrne vrednosti v enakem vrstnem redu, kot so vstavljene. Razred OrderedDict obstaja v modulu zbirk. Če želite uporabiti razred OrderedDict, najprej uvozite modul zbirk. Ta članek podrobno razlaga Python OrderedDict s primeri.

Primeri

Ustvarimo OrderedDict v našem skriptu Python in dodajte podatke v obliki ključev in vrednosti. Elementi () je vgrajena funkcija Python, ki vrne informacije o ključih in vrednostih.

#uvoz modula zbirk
uvozi zbirke
#creating OrderedDict
my_dict = zbirke.OrderedDict ()
my_dict ["A"] = 1
my_dict ["B"] = 2
my_dict ["C"] = 3
my_dict ["D"] = 4
#declaring for zanke za ponovitev skozi OrderDict
za i v my_dict.postavke ():
natisni (i)

Izhod

V izhodu lahko opazimo, da OrderedDict vrne ključe in vrednosti v enakih vstavljenih.

Zdaj pa ustvarimo še en OrderDict študenta in vanj shranimo informacije o študentu.

#uvoz modula zbirk
uvozi zbirke
#creating NaročeniDict študenta
std_dict = zbirke.OrderedDict ()
std_dict ['name'] = 'John'
std_dict ['starost'] = 23
std_dict ['email'] = '[email protected]'
std_dict ['class'] = 'BS'
#declaring for zanke za ponovitev skozi OrderDict
za i v std_dict.postavke ():
natisni (i)

Izhod

Spreminjanje vrednosti tipk

Spremenimo lahko vrednost določenega ključa OrderedDict. Če spremenimo vrednost katerega koli določenega ključa, bo vrstni red ključev v OrderDict ostal enak. Spremenimo starostno vrednost v študentskem naročilu.

#uvoz modula zbirk
uvozi zbirke
#creating NaročeniDict študenta
std_dict = zbirke.OrderedDict ()
std_dict ['name'] = 'John'
std_dict ['starost'] = 23
std_dict ['email'] = '[email protected]'
std_dict ['class'] = 'BS'
print ("Vrstni red tipk pred spreminjanjem starosti:")
#declaring zanke for, da se ponovi skozi OrderDict
za i v std_dict.postavke ():
natisni (i)
# spreminjanje starostne vrednosti
std_dict ['starost'] = 25
print ("Vrstni red tipk po spremembi starosti:")
za i v std_dict.postavke ():
natisni (i)

Izhod

Izhod kaže, da vrstni red tipk ostane enak, ko spremenimo vrednost določenega ključa.

Brisanje vrednosti iz OrderedDict

Če izbrišete vrednosti iz OrderDict, vrstni red ključev ne spremeni. Če izbrišemo določen ključ in ga znova vstavimo, bo na koncu dodan. Poglejmo primer. Iz študentskega slovarja bomo izbrisali ključ 'starost' in ga nato znova vstavili.

#uvoz modula zbirk
uvozi zbirke
#creating NaročeniDict študenta
std_dict = zbirke.OrderedDict ()
std_dict ['name'] = 'John'
std_dict ['starost'] = 23
std_dict ['email'] = '[email protected]'
std_dict ['class'] = 'BS'
print ("Vrstni red tipk pred spreminjanjem starosti:")
#declaring zanke for, da se ponovi skozi OrderDict
za i v std_dict.postavke ():
natisni (i)
#deleting starostni ključ
del std_dict ['starost']
print ("Vrstni red tipk po brisanju starostnega ključa:")
za i v std_dict.postavke ():
natisni (i)
# ponovno vstavljanje starostnega ključa in vrednosti
std_dict ['starost'] = 23
print ("Vrstni red tipk po vstavitvi starostnega ključa:")
za i v std_dict.postavke ():
natisni (i)

Izhod

V izhodu je razvidno, da se ključ, ko ponovno vstavimo, vstavi na koncu.

Zaključek

OrderedDict je podrazred dict, ki zaporedno razvrsti ključ in ohrani vrstni red, kot so vstavljeni. Razred OrderedDict je del modula zbirk. Ta članek pojasnjuje OrderedDict in njegovo funkcionalnost s primeri.

Bitka za Wesnoth 1.13.6 Razvoj izdan
Bitka za Wesnoth 1.13.6, ki je izšel prejšnji mesec, je šesta razvojna izdaja v 1.13.x series in prinaša številne izboljšave, predvsem uporabniški vme...
Kako namestiti League Of Legends na Ubuntu 14.04
Če ste ljubitelj League of Legends, je to priložnost, da preizkusite League of Legends. Upoštevajte, da LOL podpira PlayOnLinux, če uporabljate Linux....
Namestite najnovejšo strategijo igre OpenRA v Ubuntu Linux
OpenRA je Libre / Free Real Time strateški stroj, ki poustvarja zgodnje igre Westwood, kot je klasična Command & Conquer: Red Alert. Porazdeljeni modi...