Python: Сортировка словаря по значениям
В этом учебном пособии вы узнаете, как использовать Python для сортировки словаря по значениям. Начиная с Python 3.7, словари стали упорядоченными.
Сортировка словаря может иметь огромные преимущества. Представьте, что вы храните информацию о клиентах по имени. Сортировка данных значительно снижает их сложность, делая данные проще для работы.
Оглавление
Зачем сортировать словарь Python
Словари Python — это невероятно полезные структуры данных. Они хранят данные в парах ключ:значение, что позволяет легко извлекать данные. Начиная с Python 3.7, словари Python стали упорядоченными, что означает, что их порядок можно изменить для повышения эффективности.
Сортировка словаря по значениям ключей может повысить эффективность, если вы часто определяете ключи с максимальными или минимальными значениями. Представьте, что вы отслеживаете счета игроков и чаще обращаетесь к игрокам с наибольшими и наименьшими счетами. Сортировка вашего словаря становится инструментом, который позволяет оптимизировать извлечение.
Нужно проверить, существует ли ключ в словаре Python? Ознакомьтесь с этим руководством, которое учит пяти различным способам проверки существования ключа в словаре Python, включая возврат значения по умолчанию.
Сортировка словаря Python по значениям с использованием dict.items и sorted
Функция sorted()
Python позволяет нам, ну, сортировать элемент. Функция sorted()
принимает три параметра:
iterable
: Элемент для сортировкиkey
: Ключ для сортировкиreverse
: Сортировать в обратном порядке или нет
Ключ — это метод, по которому сортируются данные. По сути, это функция, которая оценивается для сравнения с тем, как сортировать.
Поскольку мы хотим сравнивать значения элементов, мы будем использовать key=item.get
, который возвращает значение ключа.
Давайте посмотрим, как это выглядит на практике:
Давайте посмотрим, что мы сделали. Мы сгенерировали список, используя функцию sorted()
, которая возвращает значения в порядке возрастания. Затем мы прошли циклом по сгенерированным новым парам ключ:значение в нашем новом словаре sorted_dict.
Мы также можем пропустить шаг сначала создания списка, а затем прохождения по нему, используя слегка измененную функцию reverse()
. Давайте посмотрим, как мы можем сократить это:
В этом примере мы сократили значительное количество кода. Давайте разберем это:
Мы передаем
sales.items()
, который возвращает кортежи пар ключ:значениеЗатем мы используем лямбда-функцию, которая захватывает второй элемент в паре (значение)
Наконец, мы превращаем это обратно в словарь с помощью функции
dict()
Если мы хотим отсортировать значения в порядке убывания, можно также передать аргумент reverse=True.
В следующем разделе вы узнаете, как использовать цикл for Python для сортировки словаря по значениям.
Сортировка словаря Python по значениям с использованием цикла for
В этом разделе вы узнаете, как использовать цикл for Python для сортировки словаря по значениям.
Мы снова используем функцию reverse()
Python и проходим циклом по сгенерированному списку кортежей. Затем мы присваиваем новые пары ключ:значение словарю, который будет хранить наш отсортированный словарь.
Давайте посмотрим, как это можно сделать в Python:
Здесь мы проходим циклом по сгенерированному списку кортежей, включая как ключи, так и значения. Затем мы присваиваем пару ключ-значение новому словарю.
В следующем разделе вы узнаете, как сортировать словарь по значениям с использованием включения словаря Python.
Сортировка словаря Python по значениям с использованием включения словаря
Мы можем превратить вышеуказанный цикл for в включение словаря, что сокращает количество кода, который нам нужно написать. Фактически, превращение этого в включение словаря делает весь код более читаемым.
Новичок в включениях словаря? Ознакомьтесь с моим подробным учебником по ним здесь, который охватывает все, что вам нужно знать.
Ниже представлена легко читаемая схема включений словаря Python:
Давайте посмотрим, как использовать включение словаря Python для сортировки словаря по значениям:
Заключение
В этом учебном пособии вы узнали, как сортировать словарь Python по значениям. Вы узнали, как это делать с использованием метода dict.items()
, цикла for, включения списка и лямбда-функции.
Чтобы узнать больше о словарях Python, ознакомьтесь с официальной документацией здесь.
Last updated