logo

Com ordenar un diccionari en Python

El diccionari Python és la col·lecció de dades que s'emmagatzemen en el formulari clau-valor. Cada clau està associada al seu valor. És de naturalesa mutable, el que significa que podem canviar les dades després de la seva creació.

És la recollida no ordenada de les dades i permet emmagatzemar valors duplicats, però la clau ha de ser única.

què és pròleg

El diccionari es declara utilitzant les claus {} i el parell clau-valor està separat per una coma.

 dict1 = {'name': 'Devansh', 'age': 22, 'Rollno':90014} print(dict1) 

Sortida:

Per què cal ordenar el diccionari

  • La complexitat del temps de cerca de la llista és O(n) i el diccionari té la complexitat del temps de cerca 0(1), cosa que fa que el diccionari sigui més ràpid que la llista. El diccionari es pot utilitzar al seu lloc per a la llista sempre que sigui necessari.
  • L'ordenació ens permet analitzar les dades de manera eficient quan estem treballant amb l'estructura de dades.
  • Un diccionari ordenat proporciona una millor comprensió per gestionar les operacions complexes.

Entenem les diferents maneres d'ordenar el diccionari.

  • Ordenació per claus
  • Ordenació per valors
  • Algorisme d'ordenació
  • Invertint l'ordre ordenat

Ordenació per claus i valors

Python ofereix les funcions de claus integrades keys() i values() per ordenar el diccionari. Pren qualsevol iterable com a argument i retorna la llista ordenada de claus. Podem utilitzar les tecles per ordenar el diccionari en ordre ascendent. Entenem l'exemple següent.

Exemple -

 names = {1:'Alice' ,2:'John' ,4:'Peter' ,3:'Andrew' ,6:'Ruffalo' ,5:'Chris' } #print a sorted list of the keys print(sorted(names.keys())) #print the sorted list with items. print(sorted(names.items())) 

Sortida:

 [1, 2, 3, 4, 5, 6] [(1, 'Alice'), (2, 'John'), (3, 'Andrew'), (4, 'Peter'), (5, 'Chris'), (6, 'Ruffalo')] 

Explicació -

En el codi anterior, hem declarat un diccionari noms . Hem utilitzat la funció integrada juntament amb el ordenat () funció que retornava la llista de les claus ordenades. A continuació, hem utilitzat el articles () funció per obtenir el diccionari en l'ordre ordenat.

Algorisme d'ordenació

Hi ha diversos algorismes d'ordenació per ordenar un diccionari; podem utilitzar altres arguments en el mètode ordenat. Entenem l'exemple següent.

Exemple -

 daynames = { 'one' : 'Monday' , 'six' : 'Saturday' ,'three' : 'Wednesday' , 'two' : 'Tuesday' , 'five': 'Friday' , 'seven': 'Sunday' } print(daynames) number = { 'one' : 1 , 'two' : 2 , 'three' : 3 , 'four' : 4 , 'five' : 5 , 'six' : 6 , 'seven' : 7} print(sorted(daynames , key=number.__getitem__)) print([daynames[i] for i in sorted(daynames , key=number.__getitem__)]) 

Sortida:

 {'one': 'Monday', 'six': 'Saturday', 'three': 'Wednesday', 'two': 'Tuesday', 'five': 'Friday', 'seven': 'Sunday'} ['one', 'two', 'three', 'five', 'six', 'seven'] ['Monday', 'Tuesday', 'Wednesday', 'Friday', 'Saturday', 'Sunday'] 

Invertir l'ordre ordenat

El diccionari es pot invertir utilitzant revés argument. Entenem l'exemple següent.

Exemple -

 a = {'a':2 ,'b':1 ,'c':3 ,'d':4 ,'e':5 ,'f':6 } print(sorted(a.values() , reverse= True)) 

Sortida:

 [6, 5, 4, 3, 2, 1] 

En aquest tutorial, hem parlat de com ordenar el diccionari a Python. Un diccionari ordenat és fàcil de manejar la gran quantitat de dades i ens ofereix un resultat de cerca ràpid.