Отсортировать значения словаря по убыванию
Дан словарь который состоит из простого ключа и значения которые являют собой список.
dictionary = {0: [4, 8, 3], 1: [3, 3, 4], 2: [1, 3, 5], 4: [0, 1, 7], 5: [2, 1, 0]}
Хочу отсортировать значения словаря по убыванию, то есть на выходе получить словарь который будет иметь вид:
dictionary = {0: [8, 4, 3], 1: [4, 3, 3], 2: [5, 3, 1], 4: [7, 1, 0], 5: [2, 1, 0]}
Я так понял задача сводиться к сортировке строк списков, но как эффективно это сделать? Скопировать значения словаря в переменную и использовать встроенную функцию sort(reverse=True) ?
Ответы (2 шт):
Автор решения: Ethan Mars
→ Ссылка
dictionary = {0: [4, 8, 3], 1: [3, 3, 4], 2: [1, 3, 5], 4: [0, 1, 7], 5: [2, 1, 0]}
for i in dictionary:
dictionary[i] = sorted(dictionary[i], reverse = True)
Автор решения: GrAnd
→ Ссылка
Можно отсортировать прямо в исходном словаре без создания новых экземпляров словаря/списков.
for item in dictionary.values():
item.sort(reverse=True)