logo

Kaip rūšiuoti žodyną Python

Python žodynas yra duomenų rinkinys, saugomas rakto vertės formoje. Kiekvienas raktas yra susietas su jo verte. Jis yra kintamo pobūdžio, o tai reiškia, kad mes galime pakeisti duomenis po jo sukūrimo.

Tai netvarkingas duomenų rinkimas ir leidžia saugoti pasikartojančias reikšmes, tačiau raktas turi būti unikalus.

neapibrėžtas nuolydis

Žodynas deklaruojamas naudojant riestinius skliaustus {}, o rakto-reikšmių pora atskiriama kableliu.

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

Išvestis:

Kodėl reikia rūšiuoti žodyną

  • Sąrašo paieškos laiko sudėtingumas yra O(n), o žodyno paieškos laiko sudėtingumas yra 0(1), todėl žodynas yra greitesnis už sąrašą. Žodynas gali būti naudojamas sąraše, kai tik reikia.
  • Rūšiavimas leidžia efektyviai analizuoti duomenis, kai dirbame su duomenų struktūra.
  • Surūšiuotas žodynas leidžia geriau suprasti sudėtingas operacijas.

Supraskime įvairius žodyno rūšiavimo būdus.

  • Rūšiavimas pagal raktus
  • Rūšiavimas pagal vertes
  • Rūšiavimo algoritmas
  • Atvirkštinė rūšiavimo tvarka

Rūšiavimas pagal raktus ir reikšmes

Python siūlo integruotas keys functions keys() ir value() funkcijas, skirtas rūšiuoti žodyną. Jis priima bet kokį kartotinį argumentą ir pateikia surūšiuotą raktų sąrašą. Naudodami klavišus galime rūšiuoti žodyną didėjančia tvarka. Supraskime šį pavyzdį.

Pavyzdys -

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

Išvestis:

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

Paaiškinimas -

Aukščiau pateiktame kode paskelbėme žodyną vardai . Mes naudojome integruotą funkciją kartu su surūšiuota () funkcija, kuri grąžino surūšiuotų raktų sąrašą. Toliau mes panaudojome daiktai () funkcija, kad žodynas būtų surūšiuotas.

Rūšiavimo algoritmas

Yra įvairių rūšiavimo algoritmų rūšiuoti žodyną; rūšiuotame metode galime naudoti kitus argumentus. Supraskime šį pavyzdį.

Pavyzdys -

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

Išvestis:

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

Atvirkštinė rūšiavimo tvarka

Žodyną galima apversti naudojant atvirkščiai argumentas. Supraskime šį pavyzdį.

Pavyzdys -

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

Išvestis:

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

Šioje pamokoje aptarėme, kaip rūšiuoti žodyną „Python“. Surūšiuotas žodynas leidžia lengvai apdoroti didelį duomenų kiekį ir suteikia greitą paieškos rezultatą.