Курс Python → Сортировка с параметром key
При использовании параметра key при сортировке в Python, перед тем, как сравнивать два элемента списка, к ним применяется функция, которая изменяет элементы перед сравнением. Например, если у вас есть список объектов и вы хотите отсортировать их по какому-то критерию, вы можете использовать параметр key для указания функции, которая будет применяться к каждому элементу перед сравнением.
В вашем случае, вы использовали функцию prepare_item, которая меняла знак у стоимости перед сравнением. Однако, чтобы избежать создания дополнительных утилитарных функций, можно использовать лямбда-функцию для достижения того же эффекта. Лямбда-функция — это анонимная функция, которая может быть определена в одной строке и применена к каждому элементу перед сравнением.
items = [{'name': 'item1', 'price': 100}, {'name': 'item2', 'price': -50}, {'name': 'item3', 'price': 200}]
sorted_items = sorted(items, key=lambda x: abs(x['price']))
В приведенном примере, список items сортируется по абсолютному значению стоимости, используя лямбда-функцию. Это позволяет избежать использования дополнительной функции prepare_item и просто указывать ключевую функцию прямо внутри вызова sorted.
Использование лямбда-функций при сортировке с параметром key делает код более компактным и понятным, так как ключевая функция указывается непосредственно в месте, где она используется. Это удобно и эффективно при работе с большими объемами данных и требует меньше усилий по сравнению с созданием отдельной функции.
Другие уроки курса "Python"
- Объединение словарей в Python 3.5+
- Управление контекстом выполнения
- Функция pow() — возвести число в степень
- Удаление ключей из словаря
- Обновление данных через PUT запрос
- Создание словарей с defaultdict()
- Печать в одной строке
- Применение функции к каждому элементу списка
- Просмотр атрибутов и методов класса
- Множественное наследование в Python
- Генерация ключей RSA
- Установка и загрузка Instaloader
- Операторы увеличения и уменьшения переменной
- Подсчет элементов в Python
- Функции высшего порядка в Python
- Лямбда-функции в Python
- Получение текущей даты и времени
- Функции в Python: создание и вызов
- Поиск повторов в списке
- Явный импорт в Python
- Список и кортеж в Python
- Создание namedtuple списком полей
- Создание словарей в Python
- Сортировка и обратный порядок
- Импорт модулей в Python 3.12
- Улучшение читаемости кода в Python
- Копирование файлов с shutil()
- Метод get() для словарей
- Фильтрация данных в Python.
- Библиотека schedule: планировщик задач
- Поиск уникальных и повторяющихся элементов
- Использование функции enumerate()
- Работа с collections.Counter
- Функция divmod() в Python
- Возврат значений из генератора
- JSON-esque в Python
- Проверка подстроки в строке
- Работа с массивами в Python
- Создание Radio кнопок в tkinter
- Списковое включение в Python
- Создание коллекций из выражения-генератора
- Мощь вложенных функций в Python















