logo

Python | Ordena els diccionaris de Python per clau o valor

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.

  1. Crea un diccionari i mostra les seves tecles de llista alfabèticament.
  2. Mostra les claus i els valors, ordenats per clau en ordre alfabètic.
  3. 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ó