logo

Kako razvrstiti slovar v Pythonu

Slovar Python je zbirka podatkov, ki so shranjeni v obliki ključ-vrednost. Vsak ključ je povezan s svojo vrednostjo. Po naravi je spremenljiv, kar pomeni, da lahko spreminjamo podatke po njihovem ustvarjanju.

Gre za neurejeno zbirko podatkov in omogoča shranjevanje podvojenih vrednosti, vendar mora biti ključ edinstven.

metode arraylist

Slovar je deklariran z uporabo zavitih oklepajev {}, par ključ-vrednost pa je ločen z vejico.

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

Izhod:

Zakaj je treba razvrstiti slovar

  • Časovna kompleksnost iskanja seznama je O(n), slovar pa ima časovno kompleksnost iskanja 0(1), zaradi česar je slovar hitrejši od seznama. Slovar lahko uporabite namesto seznama, kadar koli ga potrebujete.
  • Razvrščanje nam omogoča učinkovito analizo podatkov, ko delamo s podatkovno strukturo.
  • Razvrščen slovar omogoča boljše razumevanje zapletenih operacij.

Razumejmo različne načine razvrščanja slovarja.

  • Razvrščanje po ključih
  • Razvrščanje po vrednostih
  • Algoritem za razvrščanje
  • Obračanje razvrščenega vrstnega reda

Razvrščanje po ključih in vrednostih

Python ponuja vgrajene funkcije tipk keys() in values() za razvrščanje slovarja. Kot argument vzame katero koli ponovitev in vrne razvrščeni seznam ključev. S tipkami lahko razvrstimo slovar v naraščajočem vrstnem redu. Razumejmo naslednji primer.

Primer -

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

Izhod:

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

Pojasnilo -

V zgornji kodi smo deklarirali slovar imena . Uporabili smo vgrajeno funkcijo skupaj z razvrščeno() funkcijo, ki je vrnila seznam razvrščenih ključev. Nato smo uporabili predmeti () funkcijo za pridobitev slovarja v razvrščenem vrstnem redu.

Algoritem za razvrščanje

Obstajajo različni algoritmi za razvrščanje slovarja; lahko uporabimo druge argumente v sortirani metodi. Razumejmo naslednji primer.

Primer -

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

Izhod:

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

Obrnite razvrščeni vrstni red

Slovar lahko obračate z uporabo vzvratno prepir. Razumejmo naslednji primer.

Primer -

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

Izhod:

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

V tej vadnici smo razpravljali o tem, kako razvrstiti slovar v Pythonu. Razvrščen slovar je enostaven za obdelavo velike količine podatkov in nam omogoča hiter rezultat iskanja.