logo

Hogyan rendezzünk szótárt Pythonban

A Python szótár kulcsérték formában tárolt adatok gyűjteménye. Minden kulcs hozzá van rendelve az értékéhez. Módosítható természetű, ami azt jelenti, hogy a létrehozása után módosíthatjuk az adatokat.

Ez az adatok rendezetlen gyűjtése, és lehetővé teszi duplikált értékek tárolását, de a kulcsnak egyedinek kell lennie.

operációs rendszer használata

A szótár deklarálása a kapcsos zárójelekkel {}, a kulcs-érték pár pedig vesszővel van elválasztva.

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

Kimenet:

Miért kell rendezni a szótárt?

  • A lista keresési időbonyolultsága O(n), a szótár keresési összetettsége pedig 0(1), ami azt jelenti, hogy a szótár gyorsabb, mint a lista. A szótár a helyén használható listához, amikor csak szükséges.
  • A rendezés lehetővé teszi az adatok hatékony elemzését, amikor az adatstruktúrával dolgozunk.
  • A rendezett szótár jobb megértést tesz lehetővé az összetett műveletek kezeléséhez.

Ismerjük meg a szótár rendezésének különféle módjait.

  • Rendezés kulcsok szerint
  • Rendezés értékek szerint
  • Rendezési algoritmus
  • A rendezett sorrend megfordítása

Rendezés kulcsok és értékek szerint

Piton a beépített keys functions keys() és értékek() függvényeket kínálja a szótár rendezéséhez. Bármilyen iterálható argumentumot vesz fel, és a kulcsok rendezett listáját adja vissza. A billentyűk segítségével a szótárt növekvő sorrendbe rendezhetjük. Értsük meg a következő példát.

Példa -

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

Kimenet:

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

Magyarázat -

A fenti kódban egy szótárt deklaráltunk neveket . A beépített funkciót használtuk a rendezve() függvény, amely visszaadta a rendezett kulcsok listáját. Ezután a tételek() függvényt, hogy a szótárt rendezett sorrendben kapja meg.

Rendezési algoritmus

Különféle rendezési algoritmusok léteznek a szótár rendezésére; más argumentumokat is használhatunk a rendezett metódusban. Értsük meg a következő példát.

Példa -

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

Kimenet:

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

Fordítsa meg a rendezett sorrendet

A szótár visszafordítható a fordított érv. Értsük meg a következő példát.

Példa -

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

Kimenet:

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

Ebben az oktatóanyagban megvitattuk, hogyan kell rendezni a szótárt Pythonban. A rendezett szótár könnyen kezeli a nagy mennyiségű adatot, és gyors keresési eredményt ad.