Отсортировать словарь
Напишите функцию под названием sort_dict_by_value(d, reverse=False)
, которая принимает словарь d
и сортирует его по значениям. Функция должна возвращать новый словарь с теми же ключами, что и исходный словарь, но со значениями, отсортированными по возрастанию. Если параметр reverse
установлен в True
, функция должна сортировать словарь по убыванию.
Для решения этой проблемы вы можете следовать следующим шагам:
- Используйте
dict.items()
, чтобы получить список пар кортежей из d
.
- Отсортируйте список с использованием лямбда-функции и
sorted()
.
- Используйте
dict()
, чтобы преобразовать отсортированный список обратно в словарь.
- Используйте параметр
reverse
в sorted()
, чтобы отсортировать словарь в обратном порядке, исходя из второго аргумента.
⚠️ ВНИМАНИЕ: Значения словаря должны быть одного и того же типа.
def sort_dict_by_value(d, reverse = False):
return dict(sorted(d.items(), key = lambda x: x[1], reverse = reverse))
d = {'one': 1, 'three': 3, 'five': 5, 'two': 2, 'four': 4}
sort_dict_by_value(d) ## {'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5}
sort_dict_by_value(d, True)
## {'five': 5, 'four': 4, 'three': 3, 'two': 2, 'one': 1}