Дрон Кодер — программирование для детей и взрослых в игровой форме. Начать бесплатно

Как отсортировать словарь по значению

Словарь сортируют не сам по себе, а его пары — по значению — с помощью sorted() и параметра key.

sorted по значению

Берём пары словаря через items() и сортируем их, указав ключ сортировки — второй элемент пары (значение). key задаёт, по чему сравнивать.

score = {'Аня': 5, 'Ваня': 9, 'Оля': 7}
res = sorted(score.items(), key=lambda pair: pair[1])
print(res)   # [('Аня', 5), ('Оля', 7), ('Ваня', 9)]

По убыванию

Добавьте reverse=True, чтобы получить от большего к меньшему — например, топ учеников по баллам. Результат — список пар, который при желании превращают обратно в словарь через dict().

Что такое key

key — это функция, которая говорит sorted, по какому признаку сравнивать элементы. Здесь мы берём значение пары. Тот же приём сортирует список слов по длине или список людей по возрасту.

Частые вопросы

Можно ли отсортировать по ключам? Да: sorted(score.items()) сортирует по ключам.

Останется ли это словарём? sorted вернёт список пар; оберните в dict(), если нужен словарь.

Начать игру бесплатно
Попробуй прямо здесь
Уровень 1

Задание