Речникът на Python е колекция от данни, които се съхраняват във формата ключ-стойност. Всеки ключ е свързан със своята стойност. Той е променлив по природа, което означава, че можем да променяме данните след създаването му.
Това е неподредена колекция от данни и позволява съхраняване на дублирани стойности, но ключът трябва да е уникален.
тип променливи java
Речникът се декларира с помощта на фигурни скоби {}, а двойката ключ-стойност се разделя със запетая.
dict1 = {'name': 'Devansh', 'age': 22, 'Rollno':90014} print(dict1)
Изход:
Защо трябва да сортирате речника
- Сложността на времето за търсене на списъка е O(n), а речникът има сложност на времето за търсене 0(1), което прави речника по-бърз от списъка. Речникът може да се използва на място за списък, когато има нужда.
- Сортирането ни позволява да анализираме данните ефективно, когато работим със структурата на данните.
- Сортираният речник осигурява по-добро разбиране за справяне със сложните операции.
Нека разберем различните начини за сортиране на речника.
- Сортиране по ключове
- Сортиране по стойности
- Алгоритъм за сортиране
- Обръщане на сортирания ред
Сортиране по ключове и стойности
Python предлага вградените ключове функции keys() и values() функции за сортиране на речника. Той приема всеки итерируем като аргумент и връща сортирания списък с ключове. Можем да използваме клавишите, за да сортираме речника във възходящ ред. Нека разберем следния пример.
пример -
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()))
Изход:
[1, 2, 3, 4, 5, 6] [(1, 'Alice'), (2, 'John'), (3, 'Andrew'), (4, 'Peter'), (5, 'Chris'), (6, 'Ruffalo')]
Обяснение -
В горния код сме декларирали речник имена . Използвахме вградената функция заедно с сортиран() функция, която върна списъка на сортираните ключове. След това използвахме елементи() функция за получаване на речника в сортирания ред.
Алгоритъм за сортиране
Има различни алгоритъм за сортиране на речник; можем да използваме други аргументи в сортирания метод. Нека разберем следния пример.
пример -
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__)])
Изход:
{'one': 'Monday', 'six': 'Saturday', 'three': 'Wednesday', 'two': 'Tuesday', 'five': 'Friday', 'seven': 'Sunday'} ['one', 'two', 'three', 'five', 'six', 'seven'] ['Monday', 'Tuesday', 'Wednesday', 'Friday', 'Saturday', 'Sunday']
Обърнете сортирания ред
Речникът може да бъде обърнат с помощта на обратен аргумент. Нека разберем следния пример.
пример -
a = {'a':2 ,'b':1 ,'c':3 ,'d':4 ,'e':5 ,'f':6 } print(sorted(a.values() , reverse= True))
Изход:
[6, 5, 4, 3, 2, 1]
В този урок обсъдихме как да сортирате речника в Python. Сортираният речник е лесен за работа с големия обем данни и ни дава бърз резултат от търсенето.