logo

Sådan sorteres en ordbog i Python

Python-ordbog er indsamlingen af ​​data, der er gemt i nøgleværdi-formen. Hver nøgle er forbundet med dens værdi. Det er foranderligt i naturen, hvilket betyder, at vi kan ændre data efter dets oprettelse.

Det er den uordnede indsamling af data og tillader lagring af duplikerede værdier, men nøglen skal være unik.

java til json objekt

Ordbog erklæres ved hjælp af de krøllede klammeparenteser {}, og nøgleværdi-parret er adskilt af et komma.

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

Produktion:

Hvorfor skal du sortere ordbogen

  • Listens søgetidskompleksitet er O(n), og ordbogen har søgetidskompleksitet 0(1), hvilket gør, at ordbogen er hurtigere end listen. Ordbogen kan bruges på plads til liste, når det er nødvendigt.
  • Sorteringen giver os mulighed for at analysere dataene effektivt, når vi arbejder med datastrukturen.
  • En sorteret ordbog giver en bedre forståelse for at håndtere de komplekse operationer.

Lad os forstå de forskellige måder at sortere ordbogen på.

  • Sortering efter nøgler
  • Sortering efter værdier
  • Sorteringsalgoritme
  • At vende den sorterede rækkefølge

Sortering efter nøgler og værdier

Python tilbyder de indbyggede nøglefunktioner keys() og values() funktioner til at sortere ordbogen. Det tager enhver iterabel som et argument og returnerer den sorterede liste af nøgler. Vi kan bruge tasterne til at sortere ordbogen i stigende rækkefølge. Lad os forstå følgende eksempel.

Eksempel -

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

Produktion:

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

Forklaring -

I ovenstående kode har vi erklæret en ordbog navne . Vi brugte den indbyggede funktion sammen med sorteret() funktion, der returnerede listen over de sorterede nøgler. Dernæst brugte vi varer() funktion for at få ordbogen i sorteret rækkefølge.

Sorteringsalgoritme

Der er forskellige sorteringsalgoritmer til at sortere en ordbog; vi kan bruge andre argumenter i den sorterede metode. Lad os forstå følgende eksempel.

Eksempel -

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

Produktion:

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

Vend den sorterede rækkefølge

Ordbogen kan vendes ved hjælp af baglæns argument. Lad os forstå følgende eksempel.

Eksempel -

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

Produktion:

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

I denne tutorial har vi diskuteret, hvordan man sorterer ordbogen i Python. En sorteret ordbog er nem at håndtere den store mængde data og giver os et hurtigt søgeresultat.