logo

Ako triediť slovník v Pythone

Slovník Pythonu je zbierka údajov uložených vo forme kľúč-hodnota. Každý kľúč je spojený s jeho hodnotou. Má meniteľnú povahu, čo znamená, že po jeho vytvorení môžeme meniť údaje.

Je to neusporiadaný zber údajov a umožňuje ukladanie duplicitných hodnôt, ale kľúč musí byť jedinečný.

tučným písmom v css

Slovník je deklarovaný pomocou zložených zátvoriek {} a pár kľúč – hodnota je oddelený čiarkou.

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

Výkon:

Prečo je potrebné triediť slovník

  • Časová zložitosť hľadania zoznamu je O(n) a slovník má zložitosť času hľadania 0(1), vďaka čomu je slovník rýchlejší ako zoznam. Slovník môže byť použitý na mieste pre zoznam, kedykoľvek to potrebuje.
  • Triedenie nám umožňuje efektívne analyzovať dáta, keď pracujeme s dátovou štruktúrou.
  • Triedený slovník poskytuje lepšie pochopenie pre zvládnutie zložitých operácií.

Poďme pochopiť rôzne spôsoby triedenia slovníka.

  • Triedenie podľa kľúčov
  • Triedenie podľa hodnôt
  • Algoritmus triedenia
  • Obrátenie zoradeného poradia

Triedenie podľa kľúčov a hodnôt

Python ponúka funkcie vstavaných klávesov keys() a values() na triedenie slovníka. Berie ľubovoľnú iterovateľnú hodnotu ako argument a vracia zoradený zoznam kľúčov. Pomocou kláves môžeme zoradiť slovník vo vzostupnom poradí. Poďme pochopiť nasledujúci príklad.

Príklad -

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

Výkon:

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

vysvetlenie -

Vo vyššie uvedenom kóde sme deklarovali slovník mená . Použili sme vstavanú funkciu spolu s zoradené () funkcia, ktorá vrátila zoznam zoradených kľúčov. Ďalej sme použili položky() funkcia na získanie slovníka v zoradenom poradí.

Algoritmus triedenia

Existujú rôzne triediace algoritmy na triedenie slovníka; môžeme použiť iné argumenty v triedenej metóde. Poďme pochopiť nasledujúci príklad.

Príklad -

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

Výkon:

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

Obráťte zoradené poradie

Slovník je možné obrátiť pomocou obrátene argument. Poďme pochopiť nasledujúci príklad.

Príklad -

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

Výkon:

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

V tomto návode sme diskutovali o tom, ako triediť slovník v Pythone. Triedený slovník ľahko zvládne veľké množstvo údajov a poskytuje rýchle výsledky vyhľadávania.