logo

Kā kārtot vārdnīcu Python

Python vārdnīca ir datu kolekcija, kas tiek glabāta atslēgas vērtības formā. Katra atslēga ir saistīta ar tās vērtību. Tam ir mainīgs raksturs, kas nozīmē, ka mēs varam mainīt datus pēc to izveides.

Tā ir nesakārtota datu apkopošana un ļauj saglabāt dublētās vērtības, taču atslēgai jābūt unikālai.

jauna līnija python

Vārdnīca tiek deklarēta, izmantojot cirtainās figūriekavas {}, un atslēgas-vērtības pāris tiek atdalīts ar komatu.

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

Izvade:

Kāpēc jākārto vārdnīca

  • Saraksta meklēšanas laika sarežģītība ir O(n), un vārdnīcas meklēšanas laika sarežģītība ir 0(1), kas nozīmē, ka vārdnīca ir ātrāka par sarakstu. Vārdnīcu var izmantot saraksta vietā, kad vien tas ir nepieciešams.
  • Šķirošana ļauj mums efektīvi analizēt datus, strādājot ar datu struktūru.
  • Sakārtota vārdnīca nodrošina labāku izpratni par sarežģītu darbību veikšanu.

Sapratīsim dažādus vārdnīcas kārtošanas veidus.

  • Kārtošana pēc taustiņiem
  • Kārtošana pēc vērtībām
  • Šķirošanas algoritms
  • Apgrieztā secība

Kārtošana pēc atslēgām un vērtībām

Python piedāvā iebūvētās taustiņu funkcijas keys() un vērtības() funkcijas vārdnīcas kārtošanai. Tas izmanto jebkuru iterējamu kā argumentu un atgriež sakārtoto atslēgu sarakstu. Mēs varam izmantot taustiņus, lai sakārtotu vārdnīcu augošā secībā. Sapratīsim šādu piemēru.

Piemērs -

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

Izvade:

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

Paskaidrojums -

Iepriekš minētajā kodā mēs esam deklarējuši vārdnīcu vārdus . Mēs izmantojām iebūvēto funkciju kopā ar sakārtots() funkcija, kas atgrieza sakārtoto atslēgu sarakstu. Tālāk mēs izmantojām preces () funkciju, lai iegūtu vārdnīcu sakārtotā secībā.

Šķirošanas algoritms

Ir dažādi šķirošanas algoritmi vārdnīcas šķirošanai; mēs varam izmantot citus argumentus sakārtotajā metodē. Sapratīsim šādu piemēru.

Piemērs -

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

Izvade:

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

Apgrieztā secība

Vārdnīcu var apgriezt, izmantojot otrādi arguments. Sapratīsim šādu piemēru.

Piemērs -

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

Izvade:

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

Šajā apmācībā mēs esam apsprieduši, kā kārtot vārdnīcu Python. Sakārtota vārdnīca ļauj viegli apstrādāt lielu datu apjomu un nodrošina ātru meklēšanas rezultātu.