logo

Hur man sorterar en ordbok i Python

Python-ordbok är insamlingen av data som lagras i nyckel-värde-formen. Varje nyckel är associerad med dess värde. Det är föränderligt till sin natur, vilket innebär att vi kan ändra data efter att de skapats.

Det är den oordnade insamlingen av data och tillåter lagring av dubbletter av värden, men nyckeln måste vara unik.

bikupa arkitektur

Ordboken deklareras med klammerparenteserna {}, och nyckel-värdeparet separeras med kommatecken.

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

Produktion:

Varför behöver sortera ordboken

  • Listans söktidskomplexitet är O(n), och ordboken har söktidskomplexitet 0(1), vilket gör att ordlistan är snabbare än listan. Ordboken kan användas på plats för lista när den behöver.
  • Sorteringen gör att vi kan analysera data effektivt när vi arbetar med datastrukturen.
  • En sorterad ordbok ger en bättre förståelse för att hantera de komplexa operationerna.

Låt oss förstå de olika sätten att sortera ordboken.

  • Sortering efter nycklar
  • Sortering efter värden
  • Sorteringsalgoritm
  • Omvänd sorterad ordning

Sortering efter nycklar och värden

Pytonorm erbjuder de inbyggda tangentfunktionerna keys() och values() funktioner för att sortera ordboken. Den tar vilken som helst iterabel som ett argument och returnerar den sorterade listan med nycklar. Vi kan använda nycklarna för att sortera ordboken i stigande ordning. Låt oss förstå följande exempel.

Exempel -

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

Förklaring -

I ovanstående kod har vi deklarerat en ordbok namn . Vi använde den inbyggda funktionen tillsammans med sorterad() funktion som returnerade listan över de sorterade nycklarna. Därefter använde vi objekt() funktion för att få ordboken i sorterad ordning.

Sorteringsalgoritm

Det finns olika sorteringsalgoritmer för att sortera en ordbok; vi kan använda andra argument i den sorterade metoden. Låt oss förstå följande exempel.

Exempel -

 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'] 

Vänd om den sorterade ordningen

Ordboken kan vändas med hjälp av omvänd argument. Låt oss förstå följande exempel.

Exempel -

 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 den här handledningen har vi diskuterat hur man sorterar ordboken i Python. En sorterad ordbok är lätt att hantera den stora mängden data och ger oss ett snabbt sökresultat.