logo

Hoe een woordenboek in Python te sorteren

Python-woordenboek is de verzameling gegevens die is opgeslagen in de sleutelwaardevorm. Elke sleutel is gekoppeld aan zijn waarde. Het is veranderlijk van aard, wat betekent dat we gegevens kunnen wijzigen nadat ze zijn gemaakt.

Het is de ongeordende verzameling van gegevens en maakt het mogelijk dubbele waarden op te slaan, maar de sleutel moet uniek zijn.

converteer tekenreeks int java

Het woordenboek wordt gedeclareerd met behulp van de accolades {}, en het sleutel-waardepaar wordt gescheiden door een komma.

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

Uitgang:

Waarom moet het woordenboek worden gesorteerd?

  • De zoektijdcomplexiteit van de lijst is O(n) en het woordenboek heeft zoektijdcomplexiteit 0(1), waardoor het woordenboek sneller is dan de lijst. Het woordenboek kan op elk gewenst moment worden gebruikt voor een lijst.
  • Door de sortering kunnen we de gegevens efficiënt analyseren wanneer we met de datastructuur werken.
  • Een gesorteerd woordenboek biedt een beter begrip van de complexe bewerkingen.

Laten we de verschillende manieren begrijpen om het woordenboek te sorteren.

  • Sorteren op sleutels
  • Sorteren op waarden
  • Sorteeralgoritme
  • De gesorteerde volgorde omkeren

Sorteren op sleutels en waarden

Python biedt de ingebouwde sleutelfuncties toetsen() en waarden() functies om het woordenboek te sorteren. Het neemt elke iterabele als argument en retourneert de gesorteerde lijst met sleutels. We kunnen de toetsen gebruiken om het woordenboek in oplopende volgorde te sorteren. Laten we het volgende voorbeeld begrijpen.

Voorbeeld -

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

Uitgang:

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

Uitleg -

In de bovenstaande code hebben we een woordenboek gedeclareerd namen . We gebruikten de ingebouwde functie samen met de gesorteerd() functie die de lijst met gesorteerde sleutels retourneerde. Vervolgens gebruikten we de artikelen() functie om het woordenboek in de gesorteerde volgorde te krijgen.

Sorteeralgoritme

Er zijn verschillende sorteeralgoritmen om een ​​woordenboek te sorteren; we kunnen andere argumenten gebruiken in de gesorteerde methode. Laten we het volgende voorbeeld begrijpen.

Voorbeeld -

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

Uitgang:

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

Keer de gesorteerde volgorde om

Het woordenboek kan worden omgedraaid met behulp van de achteruit argument. Laten we het volgende voorbeeld begrijpen.

Voorbeeld -

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

Uitgang:

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

In deze tutorial hebben we besproken hoe je het woordenboek in Python kunt sorteren. Een gesorteerd woordenboek kan gemakkelijk omgaan met de grote hoeveelheid gegevens en levert snel zoekresultaat op.