Автор оригинала: Pankaj Kumar.
Вступление
В этом руководстве мы собираемся взглянуть на различные способы, следующие, которые мы можем Сортировать словарь в Python Отказ
В Python, a Словарь это коллекция пар клавишных ценностей. Последовательность такого ключ и ценность Пары разделены запятыми. Эти пары называются Предметы Отказ
Разные способы сортировки словаря в Python
Как упомянуто выше, элемент словаря состоит из ключа и соответствующего значения. Следовательно, сортировка для словаря можно выполнить с помощью любого из ключ или ценность части как параметр.
Итак, давайте теперь посмотрим на разные методы, с помощью которых мы можем отсортировать словарь по ключу или по значению Отказ
1. Сортировать словарь по ключу
Мы можем напрямую отсортировать словарь, используя встроенный отсортировано ()
Метод в Python. Это можно сделать, передавая саму словарь и функцию, которая определяет параметр на основе которого должна быть сделана сортировка (в данном случае ключ).
Давайте посмотрим, как.
d = { 5: 1 , 4: 2 , 3: 3 , 2: 4 , 1: 5 } print("The original dictionary: ", d) #sorting by key a = dict(sorted(d.items(), key=lambda x: x[0])) print("After sorting by key: ", a)
Выход:
The original dictionary: {5: 1, 4: 2, 3: 3, 2: 4, 1: 5} After sorting by key: {1: 5, 2: 4, 3: 3, 4: 2, 5: 1}
Здесь,
-
d. items ()
Метод возвращает список кортежей (элементов), содержащих Ключи и их соответствующие Значения , -
лямбда
Функция возвращает ключ ( 0-й элемент) для конкретного предмета кортеля, - Когда они передаются на
отсортировано ()
Метод, он возвращает отсортированную последовательность, которая затем вписывается в словарь.
Помните, этот метод можно использовать в Python 3.6+ Версии, как оно рассматривает словари как упорядоченные последовательности. Для более старых версий мы можем заменить
from operator import itemgetter d = { 5: 1 , 4: 2 , 3: 3 , 2: 4 , 1: 5 } print("Original Dict: ", d) #sorting by key s_d = dict(sorted(d.items(), key=itemgetter(0))) print("Sorted dict: ", s_d)
Выход:
Original Dict: {5: 1, 4: 2, 3: 3, 2: 4, 1: 5} Sorted dict: {1: 5, 2: 4, 3: 3, 4: 2, 5: 1}
Вот и методы отсортировано ()
и Предметы ()
работать так же. Но вместо лямбда Функция, itemgetter (0)
Метод возвращает Callable объект, который выбирает 0-й предмет от его операнда, используя операнд __getitem __ ()
метод. В этом случае, как нам нужно сортировать по ключу мы рассмотрим 0-й элемент.
2. Сортировка словаря по значению
Сортировка словаря по значению аналогично сортировке по ключу. Единственное различие в том, что этот тип параметра на основе которого будет сделана сортировка, это ценность часть соответствующих предметов.
Следовательно, как мы делали ранее, мы можем использовать отсортировано ()
Способ наряду с лямбдами функцией для Python 3.6+ Версии. Давайте посмотрим, как.
d = { 0: 'd', 1: 'c', 2: 'b', 3: 'a' } print("The original dictionary: ", d) #sorting by value a = dict(sorted(d.items(), key=lambda x: x[1]) ) print("After sorting by value: ", a)
Выход:
The original dictionary: {0: 'd', 1: 'c', 2: 'b', 3: 'a'} After sorting by value: {3: 'a', 2: 'b', 1: 'c', 0: 'd'}
Точно так же здесь, согласно значениям, возвращенным лямбда Функция ( x [1]
Значение для элемента x
) словарь D
отсортирован.
Опять же для более старых версий Python следуйте указанному ниже методу.
from operator import itemgetter d = { 0: 'd', 1: 'c', 2: 'b' , 3: 'a' } print("Original Dict: ", d) #sorting by value s_d = dict(sorted(d.items(), key=itemgetter(1))) print("Sorted dict: ", s_d)
Выход:
Original Dict: {0: 'd', 1: 'c', 2: 'b', 3: 'a'} Sorted dict: {3: 'a', 2: 'b', 1: 'c', 0: 'd'}
Аналогичным образом, отсортировано () наряду с D.Items () и itemgetter (1) методами сортировки словаря d на основе значения.
3. Сортировка в обратном порядке
отсортировано ()
Метод поставляется с другим аргументом Обратный
Отказ Это можно использовать для указания порядка, в котором должна быть сделана сортировка. Если прошло Правда
сортировка проходит в Обратный порядок (по убыванию). И если Ложь
пропущено (по умолчанию), сортировка имеет место в восходящая заказывать.
Давайте попробуем понять это на примере, где мы пытаемся обратить вспять словарь по ключу.
d = { 'a': 23, 'g': 67, 'e': 12, 45: 90} print("The original dictionary: ", d) #sorting by value in reverse a = dict(sorted(d.items(), reverse = True, key=lambda x: x[1])) print("After sorting by value in reverse order: ", a) #sorting by value in ascending order a = dict(sorted(d.items(), key=lambda x: x[1]))#by default reverse is set to False print("After sorting by value in ascending order: ", a)
Выход:
The original dictionary: {'a': 23, 'g': 67, 'e': 12, 45: 90} After sorting by value in reverse order: {45: 90, 'g': 67, 'a': 23, 'e': 12} After sorting by value in ascending order: {'e': 12, 'a': 23, 'g': 67, 45: 90}
С вышеуказанного выхода, Ясно, что прохождение обратного параметра как Правда
Вышеуказанный словарь отсортирован в обратном порядке ( нисходящее ).
Заключение
Так что в этом руководстве мы узнали, как мы можем Сортировать словарь в Python используя различные методы.
Для любых дополнительных вопросов не стесняйтесь использовать комментарии ниже.
Рекомендации
- Как сортировать словарь в Python? – Апппитон пост
- Python Словарь – журнал Dev Post
- Как мне сортировать словарь по значению? – Вопрос штакотов
- Как я могу сортировать словарь по ключу? – Вопрос штакотов