Сортировка словаря по значениям

В этом примере посмотрим, как отсортировать словарь в Python по его значениям — через функцию sorted() и анонимную функцию lambda.

Что нужно знать

Перед изучением примера полезно понимать:

Пример 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(). На выходе — отсортированный список значений без ключей.