Python | Sortați dicționarele Python după cheie sau valoare
Există două elemente într-un dicționar Python - chei și valori. Puteți sorta dicționarul după chei, valori sau ambele. În acest articol, vom discuta despre metodele de sortare a dicționarelor după cheie sau valoare folosind Piton .
Dicţionar Need for Sorting în Python
Avem nevoie de sortarea datelor pentru a reduce complexitatea datelor și pentru a face interogările mai rapide și mai eficiente. Sortarea este foarte importantă atunci când avem de-a face cu o cantitate mare de date.
Putem sorta un dicționar după valori folosind următoarele metode:
- Mai întâi, sortați cheile în ordine alfabetică folosind valoare cheie. iterkeys() funcţie.
- În al doilea rând, sortați cheile în ordine alfabetică folosind sortat (key_value) funcția și tipăriți valoarea corespunzătoare acesteia.
- În al treilea rând, sortați valorile alfabetic folosind valoare cheie. itemitem() , cheie = lambda (k, v) : (v, k))
Sortați dicționarele Python după cheie sau exemple de valoare
Iată principalele sarcini care trebuie efectuate pentru a sorta un dicționar după valoare și chei în Python.
- Creeaza o dicţionar și afișați cheile listei sale în ordine alfabetică.
- Afișați atât cheile, cât și valorile, sortate după cheie în ordine alfabetică.
- În cele din urmă, afișați atât cheile, cât și valorile, sortate după valoare în ordine alfabetică.
Exemplul 1: Sortarea dicționarului după cheie
În acest exemplu, vom sorta dicționarul după chei și tipul de rezultat va fi un dicționar.
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)> |
Ieșire
{'rajnish': 9, 'ravi': 10, 'sanjeev': 15, 'suraj': 32, 'yash': 2} Exemplul 2: Afișarea cheilor în ordine sortată
În acest exemplu, încercăm să sortăm dicționarul după chei și valori în Python. Aici, iterkeys() returnează un iterator peste cheile dicționarului.
Python3
# 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()> |
Ieșire
Task 1:- key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} 1 2 3 4 5 6 Exemplul 3: Sortarea dicționarului după cheie
În acest exemplu, vom sorta în ordine lexicografică Luând tipul cheii ca șir.
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)> |
Ieșire
OrderedDict([('rajnish', '9'), ('ravi', '10'), ('sanjeev', '15'), ('suraj', '32'), ('yash', '2')]) Exemplul 4: Sortarea cheilor și valorilor alfabetic folosind cheia
În acest exemplu, încercăm să sortăm dicționarul după chei și valori în Python. Aici folosim un iterator peste valoarea Dicționarului pentru a sorta cheile.
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()> |
Ieșire
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) Exemplul 5: Sortarea cheilor și valorilor alfabetic folosind valoarea
În acest exemplu, încercăm să sortăm dicționarul după chei și valori în Python. Aici folosim pentru a sorta în ordine lexicografică.
Python3
# 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()> |
Ieșire
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)] Complexitatea timpului pentru acest program este O(n log n), unde n este numărul de perechi cheie-valoare din dicționar.
Complexitatea spațiului auxiliar pentru acest program este, de asemenea, O(n), unde n este numărul de perechi cheie-valoare din dicționar.
Exemplul 6: Sortarea dicționarului după valoare
În acest exemplu, încercăm să sortăm dicționarul după valori în Python. Aici folosim înțelegerea dicționarului pentru a ne sorta valorile.
Python3
# 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)> |
Ieșire:
{'ravi': 10, 'rajnish': 9, 'sanjeev': 15, 'yash': 2, 'suraj': 32} {'ravi': 2, 'rajnish': 9, 'sanjeev': 10, 'yash': 15, 'suraj': 32} Complexitatea timpului: O(n log n), unde n este numărul de articole din dicționar.
Spatiu auxiliar: O(n), deoarece creăm noi liste de chei și valori și creăm un nou dicționar cu același număr de intrări ca și dicționarul original.
Am acoperit diferite exemple bazate pe sortarea dicționarului după cheie sau valoare. Citirea și exersarea acestor coduri Python vă va ajuta să înțelegeți sortarea în dicționarele Python.
Puteți sorta cu ușurință valorile dicționarelor după cheia sau valoarea lor.
Citiri similare:
- Sortați un dicționar
- Diferite moduri de sortare a dicționarului după valori și invers
- Diferite moduri de sortare a dicționarului după taste și invers
- Modalități de sortare a listei de dicționare după valori
- Sortează cheia și lista de valori din dicționar