Python

Python OrderedDict

Python OrderedDict

Datu struktūras ir būtiskas jebkuras programmēšanas valodas sastāvdaļas, kas efektīvi uzglabā un pārvalda datus. Python nodrošina daudzas iebūvētas datu struktūras, t.i.e., saraksti, apkopojumi un vārdnīcas, kas palīdz programmētājiem izveidot efektīvas lietojumprogrammas. Python vārdnīcas glabā datus atslēgas vērtību pāros. OrderedDict ir diktēšanas klases apakšklase, un tajā tiek saglabāta to atslēgu secība, kurās tika ievietoti. Šī ir viena un vienīgā atšķirība starp diktētu un OrderDict. Dikts neuztur atslēgas kārtību.

OrderedDict saglabā atslēgu ievietošanas kārtību, un, kad mēs atkārtojamies caur OrderedDict, tas atgriež atslēgas tajā pašā secībā. No otras puses, kad atkārtojums tiek veikts diktātā, taustiņi tiek atgriezti nejaušā secībā. Tomēr tagad vārdnīcas tiek pasūtītas Python 3.6 un jaunākas versijas un atgriež vērtības tajā pašā secībā, kādā tās ievietotas. Klase OrderedDict pastāv kolekciju modulī. Tāpēc, lai izmantotu OrderedDict klasi, vispirms importējiet kolekciju moduli. Šajā rakstā ir sīki izskaidrots Python OrderedDict ar piemēriem.

Piemēri

Savā Python skriptā izveidosim OrderedDict un pievienosim datus atslēgu un vērtību veidā. Vienumi () ir iebūvēta Python funkcija, kas atgriež atslēgas un vērtības informāciju.

#importējot kolekciju moduli
importēt kolekcijas
#creating a OrderedDict
my_dict = kolekcijas.OrderedDict ()
mans_dikts ["A"] = 1
mans_dikts ["B"] = 2
mans_dikts ["C"] = 3
mans_dikts ["D"] = 4
#declaring for ciklu atkārtot, izmantojot OrderDict
par mani manā_diktā.preces ():
drukāt (i)

Rezultāts

Izejā var novērot, ka OrderedDict atgriež atslēgas un vērtības tāpat kā ievietotās.

Tagad izveidosim vēl vienu studenta OrderDict un glabāsim tajā studentu informāciju.

#importējot kolekciju moduli
importēt kolekcijas
#creating OrderedDict studentam
std_dict = kolekcijas.OrderedDict ()
std_dict ['name'] = 'Jānis'
std_dict ['vecums'] = 23
std_dict ['email'] = '[aizsargāts ar e-pastu]'
std_dict ['class'] = 'BS'
#declaring for ciklu atkārtot, izmantojot OrderDict
priekš i std_dict.preces ():
drukāt (i)

Rezultāts

Atslēgu vērtību mainīšana

Mēs varam mainīt OrderedDict īpašās atslēgas vērtību. Ja mēs mainīsim kādas konkrētas atslēgas vērtību, atslēgu secība OrderDict paliks nemainīga. Mainīsim vecuma vērtību studenta rīkā OrderDict.

#importējot kolekciju moduli
importēt kolekcijas
#creating OrderedDict studentam
std_dict = kolekcijas.OrderedDict ()
std_dict ['name'] = 'Jānis'
std_dict ['vecums'] = 23
std_dict ['email'] = '[aizsargāts ar e-pastu]'
std_dict ['class'] = 'BS'
print ("Atslēgu secība pirms vecuma vērtības maiņas:")
#declaring for ciklu atkārtot, izmantojot OrderDict
priekš i std_dict.preces ():
drukāt (i)
# mainīt vecuma vērtību
std_dict ['vecums'] = 25
print ("Atslēgu secība pēc vecuma vērtības maiņas:")
priekš i std_dict.preces ():
drukāt (i)

Rezultāts

Rezultāts parāda, ka atslēgu secība nemainās, kad mēs mainām konkrētas atslēgas vērtību.

Vērtības dzēšana no OrderedDict

Vērtību dzēšana no OrderDict nemaina taustiņu secību. Ja mēs izdzēsīsim konkrētu atslēgu un ievietosim to atkārtoti, tā tiks pievienota beigās. Apskatīsim tā piemēru. Mēs izdzēsīsim atslēgu “vecums” no studentu vārdnīcas un pēc tam to atkal ievietosim.

#importējot kolekciju moduli
importēt kolekcijas
#creating OrderedDict studentam
std_dict = kolekcijas.OrderedDict ()
std_dict ['name'] = 'Jānis'
std_dict ['vecums'] = 23
std_dict ['email'] = '[aizsargāts ar e-pastu]'
std_dict ['class'] = 'BS'
print ("Atslēgu secība pirms vecuma vērtības maiņas:")
#declaring for ciklu atkārtot, izmantojot OrderDict
priekš i std_dict.preces ():
drukāt (i)
#dzēst vecuma atslēgu
del std_dict ['vecums']
print ("Atslēgu secība pēc vecuma atslēgas dzēšanas:")
priekš i std_dict.preces ():
drukāt (i)
# atkārtoti ievietot vecuma atslēgu un vērtību
std_dict ['vecums'] = 23
print ("Atslēgu secība pēc vecuma atslēgas atkārtotas ievietošanas:")
priekš i std_dict.preces ():
drukāt (i)

Rezultāts

Izejā var redzēt, ka tad, kad mēs atkal ievietojam atslēgu, tā tiek ievietota beigās.

Secinājums

OrderedDict ir diktēta apakšklase, kas izkārto atslēgu secībā un saglabā ievietošanas secību. Klase OrderedDict ir daļa no kolekciju moduļa. Šajā rakstā ir paskaidrots OrderedDict un tā funkcionalitāte ar piemēriem.

Izmantojot X-Mouse Button Control, atšķirīgi mainiet peles pogas atšķirīgai programmatūrai
Varbūt jums ir nepieciešams rīks, kas varētu mainīt peles vadību ar katru lietoto lietojumprogrammu. Ja tas tā ir, varat izmēģināt lietojumprogrammu a...
Microsoft Sculpt Touch bezvadu peles apskats
Es nesen lasīju par Microsoft Sculpt Touch bezvadu pele un nolēma to nopirkt. Pēc kāda laika izmantošanas es nolēmu dalīties savā pieredzē ar to. Šo b...
AppyMouse ekrāna skārienpaliktnis un peles rādītājs Windows planšetdatoriem
Planšetdatoru lietotājiem bieži pietrūkst peles rādītāja, it īpaši, ja viņi parasti lieto klēpjdatorus. Skārienekrāna viedtālruņiem un planšetdatoriem...