logo

Jak třídit slovník v Pythonu

Pythonský slovník je sbírka dat uložených ve formě klíč-hodnota. Každý klíč je spojen s jeho hodnotou. Má proměnlivou povahu, což znamená, že po jeho vytvoření můžeme měnit data.

Je to neuspořádaný sběr dat a umožňuje ukládání duplicitních hodnot, ale klíč musí být jedinečný.

tcp a ip model

Slovník je deklarován pomocí složených závorek {} a pár klíč–hodnota je oddělen čárkou.

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

Výstup:

Proč je potřeba třídit slovník

  • Časová složitost vyhledávání seznamu je O(n) a slovník má složitost času vyhledávání 0(1), díky čemuž je slovník rychlejší než seznam. Slovník lze použít na místě pro seznam, kdykoli to potřebuje.
  • Třídění nám umožňuje efektivně analyzovat data, když pracujeme s datovou strukturou.
  • Seřazený slovník poskytuje lepší porozumění pro zpracování složitých operací.

Pojďme pochopit různé způsoby řazení slovníku.

  • Třídění podle klíčů
  • Řazení podle hodnot
  • Algoritmus řazení
  • Obrácení seřazeného pořadí

Třídění podle klíčů a hodnot

Krajta nabízí vestavěné funkce kláves keys() a values() pro třídění slovníku. Vezme libovolnou iterovatelnou hodnotu jako argument a vrátí setříděný seznam klíčů. Pomocí kláves můžeme seřadit slovník ve vzestupném pořadí. Pojďme pochopit následující příklad.

Pří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ýstup:

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

Vysvětlení -

Ve výše uvedeném kódu jsme deklarovali slovník jména . Použili jsme vestavěnou funkci spolu s seřazeno() funkce, která vrátila seznam seřazených klíčů. Dále jsme použili položky() funkce pro získání slovníku v seřazeném pořadí.

Algoritmus řazení

Existují různé třídicí algoritmy pro třídění slovníků; můžeme použít jiné argumenty v tříděné metodě. Pojďme pochopit následující příklad.

Pří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ýstup:

 {'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átit seřazené pořadí

Slovník lze obrátit pomocí zvrátit argument. Pojďme pochopit následující příklad.

Příklad -

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

Výstup:

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

V tomto tutoriálu jsme diskutovali o tom, jak třídit slovník v Pythonu. Setříděný slovník snadno zvládne velké množství dat a poskytuje rychlé výsledky vyhledávání.