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

PythonPythonBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Словари - это фундаментальная структура данных в Python, которая позволяет хранить пары ключ-значение. Однако, иногда вам может потребоваться отсортировать словарь по значениям, а не по ключам. В этом испытании вам будет поручено создать функцию, которая сортирует словарь по значениям.

Отсортировать словарь

Напишите функцию под названием sort_dict_by_value(d, reverse=False), которая принимает словарь d и сортирует его по значениям. Функция должна возвращать новый словарь с теми же ключами, что и исходный словарь, но со значениями, отсортированными по возрастанию. Если параметр reverse установлен в True, функция должна сортировать словарь по убыванию.

Для решения этой проблемы вы можете следовать следующим шагам:

  1. Используйте dict.items(), чтобы получить список пар кортежей из d.
  2. Отсортируйте список с использованием лямбда-функции и sorted().
  3. Используйте dict(), чтобы преобразовать отсортированный список обратно в словарь.
  4. Используйте параметр 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}

Резюме

В этом испытании вы узнали, как сортировать словарь по значениям с использованием Python. Вы можете использовать эти знания, чтобы более эффективно манипулировать и анализировать данные, хранящиеся в словарях.