Python rječnik je zbirka podataka pohranjenih u obliku ključ-vrijednost. Svaki ključ je povezan sa svojom vrijednošću. Po prirodi je promjenjiv, što znači da možemo promijeniti podatke nakon njihova stvaranja.
To je neuređena zbirka podataka i dopušta pohranjivanje dupliciranih vrijednosti, ali ključ mora biti jedinstven.
tipkovnički prečaci za linux
Rječnik se deklarira pomoću vitičastih zagrada {}, a par ključ-vrijednost odvojen je zarezom.
dict1 = {'name': 'Devansh', 'age': 22, 'Rollno':90014} print(dict1)
Izlaz:
Zašto treba sortirati rječnik
- Složenost vremena pretraživanja popisa je O(n), a rječnik ima složenost vremena pretraživanja 0(1), što znači da je rječnik brži od popisa. Rječnik se može koristiti umjesto popisa kad god zatreba.
- Razvrstavanje nam omogućuje učinkovitu analizu podataka kada radimo sa strukturom podataka.
- Razvrstani rječnik omogućuje bolje razumijevanje složenih operacija.
Hajdemo razumjeti različite načine sortiranja rječnika.
- Razvrstavanje po ključevima
- Sortiranje po vrijednostima
- Algoritam sortiranja
- Obrnuti sortirani redoslijed
Sortiranje po ključevima i vrijednostima
Piton nudi ugrađene funkcije tipki keys() i values() za sortiranje rječnika. Uzima bilo koji iterable kao argument i vraća sortirani popis ključeva. Možemo koristiti tipke za sortiranje rječnika uzlaznim redoslijedom. Razumimo sljedeći primjer.
Primjer -
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()))
Izlaz:
[1, 2, 3, 4, 5, 6] [(1, 'Alice'), (2, 'John'), (3, 'Andrew'), (4, 'Peter'), (5, 'Chris'), (6, 'Ruffalo')]
Objašnjenje -
U gornjem kodu deklarirali smo rječnik imena . Koristili smo ugrađenu funkciju zajedno s poredano() funkcija koja je vratila popis razvrstanih ključeva. Zatim smo upotrijebili stavke() funkciju za dobivanje rječnika sortiranim redoslijedom.
Algoritam sortiranja
Postoje različiti algoritmi sortiranja za sortiranje rječnika; možemo koristiti druge argumente u sortiranoj metodi. Razumimo sljedeći primjer.
Primjer -
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__)])
Izlaz:
{'one': 'Monday', 'six': 'Saturday', 'three': 'Wednesday', 'two': 'Tuesday', 'five': 'Friday', 'seven': 'Sunday'} ['one', 'two', 'three', 'five', 'six', 'seven'] ['Monday', 'Tuesday', 'Wednesday', 'Friday', 'Saturday', 'Sunday']
Obrnuti poredani poredak
Rječnik se može preokrenuti pomoću obrnuti argument. Razumimo sljedeći primjer.
Primjer -
a = {'a':2 ,'b':1 ,'c':3 ,'d':4 ,'e':5 ,'f':6 } print(sorted(a.values() , reverse= True))
Izlaz:
[6, 5, 4, 3, 2, 1]
U ovom smo vodiču raspravljali o tome kako sortirati rječnik u Pythonu. Razvrstani rječnik lako se nosi s velikom količinom podataka i daje nam brze rezultate pretraživanja.