Курс 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
- Область видимости переменных
- Векторизация в Python с NumPy.
- Получение текущей даты и времени
- Сравнение def и lambda в Python
- Функции в Python
- Ускоренный импорт библиотек
- Метод getitem для доступа к элементам последовательности
- Капитализация строк
- Работа с NumPy.linalg
- Создание списка через цикл
- Установка Git и AWS CLI
- Вывод баннеров
- Поиск повторов в списке
- Поиск наиболее частого элемента списке
- Отступы в Python
- Динамическая типизация в Python
- Работа с датой и временем в Python
- Flask: создание веб-приложений
- Функция zip() в Python
- Статическая типизация в Python
- Анонимные функции в Python
- Форматирование чисел в Python
- Реверс строки и списка в Python.
- Форматирование строк в Python.
- Виртуальное окружение Python
- Определение индекса элемента списка
- Расчет времени выполнения
- Работа с WindowsPath()
- Генерация UUID в Python
- Возвращение нескольких значений
- GitHub в Telegram: подписка на уведомления
- Создание вложенного генератора
- Форматирование строк в Python
- Оператор zip в Python
- Оператор += для объединения строк
- Операции с кортежами
- Декоратор total_ordering для класса Point
- Создание обратного итератора
- Colorama: окрашивание текста в Python
- Объединение словарей в Python
- Гибкие функции Python
- Сериализация объектов в Python
- Получение списка кортежей из словаря















