Hi ha dos elements en un diccionari de Python: claus i valors. Podeu ordenar el diccionari per claus, valors o tots dos. En aquest article, parlarem dels mètodes per ordenar els diccionaris per clau o valor Python .
Need for Sorting Dictionary en Python
Necessitem ordenar les dades per reduir la complexitat de les dades i fer que les consultes siguin més ràpides i eficients. L'ordenació és molt important quan tractem una gran quantitat de dades.
Podem ordenar un diccionari per valors utilitzant aquests mètodes:
cadenes de concat java
- Primer, ordena les tecles alfabèticament utilitzant valor_clau. iterkeys() funció.
- En segon lloc, ordena les tecles alfabèticament utilitzant ordenat (clau_valor) funció i imprimeix el valor corresponent.
- En tercer lloc, ordena els valors alfabèticament utilitzant valor_clau. elements () , clau = lambda (k, v): (v, k))
Ordena els diccionaris de Python per exemples de clau o valor
Aquestes són les tasques principals que s'han de realitzar per ordenar un diccionari per valor i claus a Python.
- Crea un diccionari i mostra les seves tecles de llista alfabèticament.
- Mostra les claus i els valors, ordenats per clau en ordre alfabètic.
- Finalment, mostreu les claus i els valors, ordenats per valor en ordre alfabètic.
Exemple 1: ordenar el diccionari per clau
En aquest exemple, ordenarem el diccionari per claus i el tipus de resultat serà un diccionari.
Python 3
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)> |
>
>Sortida
{'rajnish': 9, 'ravi': 10, 'sanjeev': 15, 'suraj': 32, 'yash': 2}>
Exemple 2: Mostrar les claus en ordre ordenat
En aquest exemple, estem intentant ordenar el diccionari per claus i valors en Python. Aquí, iterkeys() retorna un iterador sobre les claus del diccionari.
Python 3
# 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()> |
>
>Sortida
Task 1:- key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} 1 2 3 4 5 6>
Exemple 3: ordenar el diccionari per clau
En aquest exemple, ordenarem per ordre lexicogràfic Prenent el tipus de la clau com a cadena.
Python 3
cadena comparada
# 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)> |
>
>Sortida
OrderedDict([('rajnish', '9'), ('ravi', '10'), ('sanjeev', '15'), ('suraj', '32'), ('yash', '2')])>
Exemple 4: Ordenar les claus i els valors alfabèticament utilitzant la clau
En aquest exemple, estem intentant ordenar el diccionari per claus i valors en Python. Aquí estem utilitzant un iterador sobre el valor del diccionari per ordenar les claus.
Python 3
error d'atribut python
# 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()> |
>
>Sortida
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)>
Exemple 5: Ordenar les claus i els valors alfabèticament utilitzant el valor
En aquest exemple, estem intentant ordenar el diccionari per claus i valors en Python. Aquí estem utilitzant per ordenar per ordre lexicogràfic.
inicialització de primavera
Python 3
# 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()> |
>
>Sortida
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)]>
La complexitat temporal d'aquest programa és O(n log n), on n és el nombre de parells clau-valor al diccionari.
La complexitat de l'espai auxiliar d'aquest programa també és O(n), on n és el nombre de parells clau-valor al diccionari.
Exemple 6: ordenar el diccionari per valor
En aquest exemple, estem intentant ordenar el diccionari per valors en Python. Aquí estem utilitzant la comprensió del diccionari per ordenar els nostres valors.
Python 3
# 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)> |
>
>
mvc per a java
Sortida:
{'ravi': 10, 'rajnish': 9, 'sanjeev': 15, 'yash': 2, 'suraj': 32} {'ravi': 2, 'rajnish': 9, 'sanjeev': 10, 'yash': 15, 'suraj': 32}>
Complexitat temporal: O(n log n), on n és el nombre d'elements del diccionari.
Espai auxiliar: O(n), ja que estem creant noves llistes de claus i valors, i creant un nou diccionari amb el mateix nombre d'entrades que el diccionari original.
Hem cobert diferents exemples basats en ordenar el diccionari per clau o valor. Llegir i practicar aquests codis de Python us ajudarà a entendre l'ordenació als diccionaris de Python.
Podeu ordenar fàcilment els valors dels diccionaris per la seva clau o valor.
Lectures similars:
- Ordena un diccionari
- Diferents maneres d'ordenar el diccionari per valors i invers
- Diferents maneres d'ordenar el diccionari per tecles i invers
- Maneres d'ordenar la llista de diccionaris per valors
- Llista de claus i valors del diccionari d'ordenació