logo

Cum să sortați un dicționar în Python

Dicționarul Python este colecția de date stocate în forma cheie-valoare. Fiecare cheie este asociată cu valoarea sa. Este mutabil în natură, ceea ce înseamnă că putem schimba datele după crearea lor.

Este o colecție neordonată a datelor și permite stocarea valorilor duplicate, dar cheia trebuie să fie unică.

instanțierea java

Dicționarul este declarat folosind acolade {}, iar perechea cheie-valoare este separată prin virgulă.

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

Ieșire:

De ce trebuie să sortăm dicționarul

  • Complexitatea timpului de căutare a listei este O(n), iar dicționarul are complexitatea timpului de căutare 0(1), ceea ce face ca dicționarul să fie mai rapid decât lista. Dicționarul poate fi folosit pentru listă ori de câte ori este nevoie.
  • Sortarea ne permite să analizăm datele în mod eficient atunci când lucrăm cu structura de date.
  • Un dicționar sortat oferă o mai bună înțelegere a operațiunilor complexe.

Să înțelegem diferitele moduri de a sorta dicționarul.

  • Sortarea după chei
  • Sortarea după valori
  • Algoritm de sortare
  • Inversarea ordinii sortate

Sortarea după chei și valori

Piton oferă funcțiile încorporate keys keys() și values() pentru a sorta dicționarul. Ia orice iterabil ca argument și returnează lista sortată de chei. Putem folosi tastele pentru a sorta dicționarul în ordine crescătoare. Să înțelegem următorul exemplu.

Exemplu -

 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())) 

Ieșire:

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

Explicație -

În codul de mai sus, am declarat un dicționar nume . Am folosit funcția încorporată împreună cu sortat() funcție care a returnat lista cheilor sortate. Apoi, am folosit articole() funcția pentru a obține dicționarul în ordinea sortată.

Algoritm de sortare

Există diverși algoritmi de sortare pentru a sorta un dicționar; putem folosi alte argumente în metoda sortată. Să înțelegem următorul exemplu.

Exemplu -

 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__)]) 

Ieșire:

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

Inversați ordinea sortată

Dicționarul poate fi inversat folosind verso argument. Să înțelegem următorul exemplu.

Exemplu -

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

Ieșire:

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

În acest tutorial, am discutat despre cum să sortăm dicționarul în Python. Un dicționar sortat este ușor de gestionat cantitatea mare de date și ne oferă un rezultat rapid al căutării.