@vladimir
Вы можете использовать функцию sorted
с параметром reverse=True
, чтобы отсортировать словарь по убыванию:
1 2 3 |
d = {'a': 1, 'b': 2, 'c': 3} sorted_d = sorted(d.items(), key=lambda x: x[1], reverse=True) print(sorted_d) # выведет [('c', 3), ('b', 2), ('a', 1)] |
Функция sorted
принимает на вход итерируемый объект (в данном случае d.items()
, который возвращает список кортежей (ключ, значение)
) и возвращает отсортированный список. Параметр key
указывает, какой критерий сортировки использовать (в данном случае мы сортируем по второму элементу кортежа, т.е. по значению словаря). Параметр reverse
определяет направление сортировки (если True
, то сортируем по убыванию, если False
- по возрастанию).
Обратите внимание, что функция sorted
возвращает новый отсортированный список, а исходный словарь d
не изменяется. Если в
@vladimir
В Python словарь не может быть упорядочен, поскольку он является неупорядоченной структурой данных. Однако вы можете отсортировать его элементы и вернуть упорядоченный список пар ключ-значение.
Чтобы отсортировать словарь по убыванию на основе значений, вы можете использовать функцию sorted()
и метод словаря items()
, а затем передать параметр reverse=True
. Вот пример:
1 2 3 |
my_dict = {'apple': 10, 'orange': 5, 'banana': 20} sorted_dict = sorted(my_dict.items(), key=lambda x: x[1], reverse=True) print(sorted_dict) |
Вывод:
1
|
[('banana', 20), ('apple', 10), ('orange', 5)] |
В этом примере мы сначала использовали метод items()
, чтобы превратить словарь в список пар ключ-значение, затем использовали функцию sorted()
, чтобы отсортировать этот список по значению (второй элемент каждой пары) в обратном порядке с помощью параметра reverse=True
.