Сортировка словаря по значениям
В этом примере посмотрим, как отсортировать словарь в Python по его значениям — через функцию sorted() и анонимную функцию lambda.
Что нужно знать
Перед изучением примера полезно понимать:
Словари (Dictionary) в Python — словари
Пример 1. Сортировка словаря по значениям
dt = {5:4, 1:6, 6:3}
sorted_dt = {key: value for key, value in sorted(dt.items(), key=lambda item: item[1])}
print(sorted_dt)
Вывод
{6: 3, 5: 4, 1: 6}
key=lambda item: item[1]возвращает значение из парыключ: значение.Из каждой пары, полученной через
dt.items(), функцияsorted()берёт второй элемент и сортирует по нему.
Подробнее про sorted() и её параметр key можно прочитать в документации.
Пример 2. Сортировка только значений
dt = {5:4, 1:6, 6:3}
sorted_dt_value = sorted(dt.values())
print(sorted_dt_value)
Вывод
[3, 4, 6]
Здесь sorted() применяется только к значениям словаря, которые получены методом dt.values(). На выходе — отсортированный список значений без ключей.