У словнику Python є два елементи - ключі та значення. Ви можете сортувати словник за ключами, значеннями або обома. У цій статті ми обговоримо методи сортування словників за допомогою ключа або значення Python .
Потрібен словник сортування в Python
Нам потрібне сортування даних, щоб зменшити складність даних і зробити запити швидшими та ефективнішими. Сортування дуже важливе, коли ми маємо справу з великою кількістю даних.
Ми можемо сортувати словник за значеннями за допомогою таких методів:
- Спочатку відсортуйте ключі за алфавітом за допомогою ключ_значення. iterkeys() функція.
- По-друге, відсортуйте ключі за алфавітом за допомогою відсортований (ключ_значення) і надрукувати відповідне їй значення.
- По-третє, відсортуйте значення в алфавітному порядку ключ_значення. iritems() , ключ = лямбда (k, v) : (v, k))
Сортуйте словники Python за прикладами ключів або значень
Ось основні завдання, які потрібно виконати, щоб відсортувати словник за значенням і ключами в Python.
- Створити словник і відобразити його ключі списку в алфавітному порядку.
- Відображати як ключі, так і значення, відсортовані за ключами в алфавітному порядку.
- Нарешті відобразіть і ключі, і значення, відсортовані за значеннями в алфавітному порядку.
Приклад 1: Сортування словника за ключем
У цьому прикладі ми відсортуємо словник за ключами, а типом результату буде словник.
Python3
myDict>=> {>'ravi'>:>10>,>'rajnish'>:>9>,> >'sanjeev'>:>15>,>'yash'>:>2>,>'suraj'>:>32>}> myKeys>=> list>(myDict.keys())> myKeys.sort()> sorted_dict>=> {i: myDict[i]>for> i>in> myKeys}> print>(sorted_dict)> |
>
>Вихід
{'rajnish': 9, 'ravi': 10, 'sanjeev': 15, 'suraj': 32, 'yash': 2}> приклад 2: Відображення ключів у відсортованому порядку
У цьому прикладі ми намагаємося відсортувати словник за ключами та значеннями в Python. Тут iterkeys() повертає ітератор над ключами словника.
Python3
cpp дорівнює
# Function calling> def> dictionary():> ># Declare hash function> >key_value>=> {}> # Initializing value> >key_value[>2>]>=> 56> >key_value[>1>]>=> 2> >key_value[>5>]>=> 12> >key_value[>4>]>=> 24> >key_value[>6>]>=> 18> >key_value[>3>]>=> 323> >print>(>'Task 1:-
'>)> >print>(>'key_value'>, key_value)> ># iterkeys() returns an iterator over the> ># dictionary’s keys.> >for> i>in> sorted>(key_value.keys()):> >print>(i, end>=>' '>)> def> main():> ># function calling> >dictionary()> # Main function calling> if> __name__>=>=> '__main__'>:> >main()> |
>
>Вихід
Task 1:- key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} 1 2 3 4 5 6> Приклад 3: Сортування словника за ключем
У цьому прикладі ми будемо сортувати в лексикографічному порядку, взявши тип ключа як рядок.
Python3
# Creates a sorted dictionary (sorted by key)> from> collections>import> OrderedDict> dict> => {>'ravi'>:>'10'>,>'rajnish'>:>'9'>,> >'sanjeev'>:>'15'>,>'yash'>:>'2'>,>'suraj'>:>'32'>}> dict1>=> OrderedDict(>sorted>(>dict>.items()))> print>(dict1)> |
>
>
приведення типів і перетворення типів у javaВихід
OrderedDict([('rajnish', '9'), ('ravi', '10'), ('sanjeev', '15'), ('suraj', '32'), ('yash', '2')])> Приклад 4: Сортування ключів і значень за алфавітом за допомогою ключа
У цьому прикладі ми намагаємося відсортувати словник за ключами та значеннями в Python. Тут ми використовуємо ітератор над значенням словника для сортування ключів.
Python3
перевірте версію java на linux
# function calling> def> dictionairy():> ># Declaring the hash function> >key_value>=> {}> # Initialize value> >key_value[>2>]>=> 56> >key_value[>1>]>=> 2> >key_value[>5>]>=> 12> >key_value[>4>]>=> 24> >key_value[>6>]>=> 18> >key_value[>3>]>=> 323> > >print>(>'key_value'>,key_value)> >print>(>'Task 2:-
Keys and Values sorted in'>,> >'alphabetical order by the key '>)> > ># sorted(key_value) returns a sorted list> ># of the Dictionary’s keys.> >for> i>in> sorted>(key_value):> >print>((i, key_value[i]), end>=>' '>)> def> main():> ># function calling> >dictionairy()> # main function calling> if> __name__>=>=> '__main__'>:> >main()> |
>
>Вихід
key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} Task 2:- Keys and Values sorted in alphabetical order by the key (1, 2) (2, 56) (3, 323) (4, 24) (5, 12) (6, 18)> Приклад 5: Сортування ключів і значень за алфавітом за допомогою значення
У цьому прикладі ми намагаємося відсортувати словник за ключами та значеннями в Python. Тут ми використовуємо сортування в лексикографічному порядку.
Python3
# Function calling> def> dictionairy():> ># Declaring hash function> >key_value>=> {}> # Initializing the value> >key_value[>2>]>=> 56> >key_value[>1>]>=> 2> >key_value[>5>]>=> 12> >key_value[>4>]>=> 24> >key_value[>6>]>=> 18> >key_value[>3>]>=> 323> > >print>(>'key_value'>,key_value)> >print>(>'Task 3:-
Keys and Values sorted'>,> >'in alphabetical order by the value'>)> ># Note that it will sort in lexicographical order> ># For mathematical way, change it to float> >print>(>sorted>(key_value.items(), key>=>lambda> kv:> >(kv[>1>], kv[>0>])))> def> main():> ># function calling> >dictionairy()> # main function calling> if> __name__>=>=> '__main__'>:> >main()> |
>
>Вихід
key_value {2: 56, 1: 2, 5: 12, 4: 24, 6: 18, 3: 323} Task 3:- Keys and Values sorted in alphabetical order by the value [(1, 2), (5, 12), (6, 18), (4, 24), (2, 56), (3, 323)]> Часова складність для цієї програми дорівнює O(n log n), де n – кількість пар ключ-значення в словнику.
java зворотний рядок
Складність допоміжного простору для цієї програми також дорівнює O(n), де n – це кількість пар ключ-значення в словнику.
Приклад 6: Сортування словника за значенням
У цьому прикладі ми намагаємося відсортувати словник за значеннями в Python. Тут ми використовуємо розуміння словника для сортування наших значень.
Python3
# Creates a sorted dictionary (sorted by key)> from> collections>import> OrderedDict> import> numpy as np> dict> => {>'ravi'>:>10>,>'rajnish'>:>9>,> >'sanjeev'>:>15>,>'yash'>:>2>,>'suraj'>:>32>}> print>(>dict>)> keys>=> list>(>dict>.keys())> values>=> list>(>dict>.values())> sorted_value_index>=> np.argsort(values)> sorted_dict>=> {keys[i]: values[i]>for> i>in> sorted_value_index}> print>(sorted_dict)> |
>
>
Вихід:
{'ravi': 10, 'rajnish': 9, 'sanjeev': 15, 'yash': 2, 'suraj': 32} {'ravi': 2, 'rajnish': 9, 'sanjeev': 10, 'yash': 15, 'suraj': 32}> Часова складність: O(n log n), де n – кількість елементів у словнику.
Допоміжні приміщення: O(n), оскільки ми створюємо нові списки ключів і значень, а також створюємо новий словник із тією ж кількістю записів, що й вихідний словник.
Ми розглянули різні приклади на основі сортування словника за ключем або значенням. Читання та застосування цих кодів Python допоможе вам зрозуміти сортування в словниках Python.
Ви можете легко сортувати значення словників за їх ключем або значенням.
Схожі читання:
- Сортування словника
- Різні способи сортування словника за значеннями та навпаки
- Різні способи сортування словника за ключами та навпаки
- Способи сортування списку словників за значеннями
- Ключ сортування та список значень словника