V slovarju Python sta dva elementa - ključi in vrednosti. Slovar lahko razvrstite po ključih, vrednostih ali obojem. V tem članku bomo razpravljali o metodah razvrščanja slovarjev po ključu ali vrednosti Python .
Potreba po slovarju za razvrščanje v Pythonu
Potrebujemo razvrščanje podatkov, da zmanjšamo kompleksnost podatkov in naredimo poizvedbe hitrejše in učinkovitejše. Razvrščanje je zelo pomembno, ko imamo opravka z veliko količino podatkov.
Slovar lahko razvrstimo po vrednostih s temi metodami:
- Najprej razvrstite ključe po abecedi z uporabo ključ_vrednost. iterkeys() funkcijo.
- Drugič, razvrstite ključe po abecedi z uporabo razvrščeno (ključ_vrednost) funkcijo in natisnite vrednost, ki ji ustreza.
- Tretjič, razvrstite vrednosti po abecedi z uporabo ključ_vrednost. iteriitems() , ključ = lambda (k, v) : (v, k))
Razvrsti slovarje Python po primerih ključa ali vrednosti
Tu so glavne naloge, ki jih je treba izvesti za razvrščanje slovarja po vrednosti in ključih v Pythonu.
- Ustvariti slovar in prikaže njegove seznamske ključe po abecedi.
- Prikaži tako ključe kot vrednosti, razvrščene po ključu po abecednem vrstnem redu.
- Končno prikažite tako ključe kot vrednosti, razvrščene po vrednosti po abecednem vrstnem redu.
Primer 1: Razvrščanje slovarja po ključu
V tem primeru bomo slovar razvrstili po ključih in vrsta rezultata bo slovar.
Python3
myDict>=> {>'ravi'>:>10>,>'rajnish'>:>9>,> >'sanjeev'>:>15>,>'yash'>:>2>,>'suraj'>:>32>}> myKeys>=> list>(myDict.keys())> myKeys.sort()> sorted_dict>=> {i: myDict[i]>for> i>in> myKeys}> print>(sorted_dict)> |
>
>
pretvorba nfa v dfaIzhod
{'rajnish': 9, 'ravi': 10, 'sanjeev': 15, 'suraj': 32, 'yash': 2}> Primer 2: Prikaz ključev v razvrščenem vrstnem redu
V tem primeru poskušamo razvrstiti slovar po ključih in vrednostih v Pythonu. Tu iterkeys() vrne iterator nad ključi slovarja.
Python3
hashmap java
# Function calling> def> dictionary():> ># Declare hash function> >key_value>=> {}> # Initializing value> >key_value[>2>]>=> 56> >key_value[>1>]>=> 2> >key_value[>5>]>=> 12> >key_value[>4>]>=> 24> >key_value[>6>]>=> 18> >key_value[>3>]>=> 323> >print>(>'Task 1:-
'>)> >print>(>'key_value'>, key_value)> ># iterkeys() returns an iterator over the> ># dictionary’s keys.> >for> i>in> sorted>(key_value.keys()):> >print>(i, end>=>' '>)> def> main():> ># function calling> >dictionary()> # Main function calling> if> __name__>=>=> '__main__'>:> >main()> |
>
>Izhod
Task 1:- key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} 1 2 3 4 5 6> Primer 3: Razvrščanje slovarja po ključu
V tem primeru bomo razvrstili po leksikografskem vrstnem redu, pri čemer bomo tip ključa vzeli kot niz.
Python3
# Creates a sorted dictionary (sorted by key)> from> collections>import> OrderedDict> dict> => {>'ravi'>:>'10'>,>'rajnish'>:>'9'>,> >'sanjeev'>:>'15'>,>'yash'>:>'2'>,>'suraj'>:>'32'>}> dict1>=> OrderedDict(>sorted>(>dict>.items()))> print>(dict1)> |
>
>Izhod
java generiki
OrderedDict([('rajnish', '9'), ('ravi', '10'), ('sanjeev', '15'), ('suraj', '32'), ('yash', '2')])> Primer 4: Razvrščanje ključev in vrednosti po abecedi z uporabo ključa
V tem primeru poskušamo razvrstiti slovar po ključih in vrednostih v Pythonu. Tukaj uporabljamo iterator nad vrednostjo slovarja za razvrščanje ključev.
Python3
# function calling> def> dictionairy():> ># Declaring the hash function> >key_value>=> {}> # Initialize value> >key_value[>2>]>=> 56> >key_value[>1>]>=> 2> >key_value[>5>]>=> 12> >key_value[>4>]>=> 24> >key_value[>6>]>=> 18> >key_value[>3>]>=> 323> > >print>(>'key_value'>,key_value)> >print>(>'Task 2:-
Keys and Values sorted in'>,> >'alphabetical order by the key '>)> > ># sorted(key_value) returns a sorted list> ># of the Dictionary’s keys.> >for> i>in> sorted>(key_value):> >print>((i, key_value[i]), end>=>' '>)> def> main():> ># function calling> >dictionairy()> # main function calling> if> __name__>=>=> '__main__'>:> >main()> |
>
>Izhod
key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} Task 2:- Keys and Values sorted in alphabetical order by the key (1, 2) (2, 56) (3, 323) (4, 24) (5, 12) (6, 18)> Primer 5: Razvrščanje ključev in vrednosti po abecedi z uporabo vrednosti
V tem primeru poskušamo razvrstiti slovar po ključih in vrednostih v Pythonu. Tu uporabljamo za razvrščanje po leksikografskem vrstnem redu.
Python3
kako razvrstiti matriko v Javi
# Function calling> def> dictionairy():> ># Declaring hash function> >key_value>=> {}> # Initializing the value> >key_value[>2>]>=> 56> >key_value[>1>]>=> 2> >key_value[>5>]>=> 12> >key_value[>4>]>=> 24> >key_value[>6>]>=> 18> >key_value[>3>]>=> 323> > >print>(>'key_value'>,key_value)> >print>(>'Task 3:-
Keys and Values sorted'>,> >'in alphabetical order by the value'>)> ># Note that it will sort in lexicographical order> ># For mathematical way, change it to float> >print>(>sorted>(key_value.items(), key>=>lambda> kv:> >(kv[>1>], kv[>0>])))> def> main():> ># function calling> >dictionairy()> # main function calling> if> __name__>=>=> '__main__'>:> >main()> |
>
>Izhod
key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} Task 3:- Keys and Values sorted in alphabetical order by the value [(1, 2), (5, 12), (6, 18), (4, 24), (2, 56), (3, 323)]> Časovna kompleksnost za ta program je O(n log n), kjer je n število parov ključ-vrednost v slovarju.
Kompleksnost pomožnega prostora za ta program je tudi O(n), kjer je n število parov ključ-vrednost v slovarju.
Primer 6: Razvrščanje slovarja po vrednosti
V tem primeru poskušamo razvrstiti slovar po vrednostih v Pythonu. Tukaj uporabljamo slovarsko razumevanje za razvrščanje naših vrednosti.
Python3
char v niz v Javi
# Creates a sorted dictionary (sorted by key)> from> collections>import> OrderedDict> import> numpy as np> dict> => {>'ravi'>:>10>,>'rajnish'>:>9>,> >'sanjeev'>:>15>,>'yash'>:>2>,>'suraj'>:>32>}> print>(>dict>)> keys>=> list>(>dict>.keys())> values>=> list>(>dict>.values())> sorted_value_index>=> np.argsort(values)> sorted_dict>=> {keys[i]: values[i]>for> i>in> sorted_value_index}> print>(sorted_dict)> |
>
>
Izhod:
{'ravi': 10, 'rajnish': 9, 'sanjeev': 15, 'yash': 2, 'suraj': 32} {'ravi': 2, 'rajnish': 9, 'sanjeev': 10, 'yash': 15, 'suraj': 32}> Časovna zahtevnost: O(n log n), kjer je n število elementov v slovarju.
Pomožni prostor: O(n), saj ustvarjamo nove sezname ključev in vrednosti ter ustvarjamo nov slovar z enakim številom vnosov kot izvirni slovar.
Zajeli smo različne primere na podlagi razvrščanja slovarja po ključu ali vrednosti. Branje in vadba teh kod Python vam bo pomagala razumeti razvrščanje v slovarjih Python.
Vrednosti slovarjev lahko preprosto razvrstite po ključu ali vrednosti.
Podobna branja:
- Razvrsti slovar
- Različni načini razvrščanja slovarja po vrednostih in obratno
- Različni načini razvrščanja slovarja po ključih in obratno
- Načini razvrščanja seznama slovarjev po vrednostih
- Razvrsti slovarski ključ in seznam vrednosti