На этом коротком руководстве давайте рассмотрим разные способы сортировки вашего словаря Python по значению.
Python 3.6+
>>> x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0} >>> {k: v for k, v in sorted(x.items(), key=lambda item: item[1])} {0: 0, 2: 1, 1: 2, 4: 3, 3: 4}
Старший питон
Невозможно сортировать словарь, только чтобы получить представление словаря, который сортируется. Словари по своей природе не упорядочены, но другие типы, такие как списки и кортежи, не являются. Таким образом, вам нужен заказанный тип данных для представления отсортированных значений, которые станут список – вероятно, список кортежей.
Например,
import operator x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0} sorted_x = sorted(x.items(), key=operator.itemgetter(1))
Сортировка_x будет список кортежей, отсортированных по второму элементу в каждом кортеже. Dict (SORTED_X).
И для тех, кто желает отсортировать на ключа вместо ценностей:
import operator x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0} sorted_x = sorted(x.items(), key=operator.itemgetter(0))
В Python3 с момента распаковки не допускается [1] мы можем использовать
x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0} sorted_x = sorted(x.items(), key=lambda kv: kv[1])
Если вы хотите вывод как дикт, вы можете использовать коллекции. ЗаказДикт :
import collections sorted_dict = collections.OrderedDict(sorted_x)
Другой вариант может быть:
sorted(d.items(), key=lambda x: x[1])
Это сортирует словарь по значениям каждой записи в словаре с наименьшего до самой большой.
Чтобы сортировать его в убывании, просто добавьте:
sorted(d.items(), key=lambda x: x[1], reverse=True)
Вход:
d = {'one':1,'three':3,'five':5,'two':2,'four':4} a = sorted(d.items(), key=lambda x: x[1]) print(a)
Вывод:
[('one', 1), ('two', 2), ('three', 3), ('four', 4), ('five', 5)]
Источник: Середина
Ресурсы, которые вы можете найти полезны:
Получить книгу: Обучение программирование Python с нуля
Другие сообщения Dev:
Топ 10 ответов на вопросы интервью Sysadmin, которые могут спасти вашу жизнь
Приложение React One Page в течение 5 минут с использованием Реакция
Эксклюзивный доступ к исходному коду этого Python YouTube Video Downloader App
Узнайте лучшие структуры данных и алгоритмы каждый студенческий компьютер должен знать
Оригинал: “https://dev.to/courseprobe/how-do-i-sort-a-dictionary-by-value-1abh”