logo

Hvordan sortere en ordbok i Python

Python-ordbok er samlingen av data som er lagret i nøkkelverdi-formen. Hver nøkkel er knyttet til verdien. Den er foranderlig i naturen, noe som betyr at vi kan endre data etter at de er opprettet.

Det er uordnet innsamling av data og tillater lagring av dupliserte verdier, men nøkkelen må være unik.

java int til char

Ordboken er deklarert ved hjelp av de krøllete klammeparentesene {}, og nøkkelverdi-paret er atskilt med komma.

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

Produksjon:

Hvorfor trenger å sortere ordboken

  • Søketidskompleksiteten til listen er O(n), og ordboken har søketidskompleksiteten 0(1), som gjør at ordboken er raskere enn listen. Ordboken kan brukes på plass for liste når den trenger det.
  • Sorteringen lar oss analysere dataene effektivt når vi jobber med datastrukturen.
  • En sortert ordbok gir en bedre forståelse for å håndtere de komplekse operasjonene.

La oss forstå de ulike måtene å sortere ordboken på.

  • Sortering etter nøkler
  • Sortering etter verdier
  • Sorteringsalgoritme
  • Reversere den sorterte rekkefølgen

Sortering etter nøkler og verdier

Python tilbyr de innebygde tastene funksjonene keys() og values() funksjoner for å sortere ordboken. Den tar ethvert iterabelt som et argument og returnerer den sorterte listen over nøkler. Vi kan bruke tastene til å sortere ordboken i stigende rekkefølge. La oss 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())) 

Produksjon:

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

Forklaring -

I koden ovenfor har vi erklært en ordbok navn . Vi brukte den innebygde funksjonen sammen med sortert() funksjon som returnerte listen over de sorterte nøklene. Deretter brukte vi elementer() funksjon for å få ordboken i sortert rekkefølge.

Sorteringsalgoritme

Det finnes ulike sorteringsalgoritmer for å sortere en ordbok; vi kan bruke andre argumenter i den sorterte metoden. La oss 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__)]) 

Produksjon:

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

Snu den sorterte rekkefølgen

Ordboken kan reverseres ved å bruke omvendt argument. La oss forstå følgende eksempel.

Eksempel -

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

Produksjon:

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

I denne opplæringen har vi diskutert hvordan du sorterer ordboken i Python. En sortert ordbok er enkel å håndtere den store datamengden og gir oss et raskt søkeresultat.