Курс 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
- Руководство по использованию Colorama
- Декораторы в Python
- Работа с парами ключ-значение
- f-строки в формате строк
- Глобальные переменные в Python
- Лямбда-функции в defaultdict
- Использование super() в Python
- Переворот строки
- Создание новых списков в Python
- Разделение строки на пары ключ-значение.
- Работа с collections.Counter
- Python-dateutil — работа с датами
- Dict Comprehension в Python
- Аргументы *args и **kwargs
- Numpy: разбиение массивов
- Поиск частого элемента
- Конвертация коллекций в Python.
- Работа с пакетами
- Создание и использование модулей в Python
- Многострочные комментарии в Python
- Переменная Шредингера
- Бесконечные списки в Python
- Логирование с Logzero
- Измерение времени выполнения кода с помощью time
- Поиск подстроки в строке
- Хешируемые ключи в Python
- Передача неизвестных аргументов в Python.
- Работа со строками в Python
- Отладка утечек памяти в Python
- Метод __index__ в Python
- Извлечение данных из JSON
- Операторы += в Python
- Python Тесты и Гайды
- Генераторные выражения и islice.
- TON Smart Challenge #2: участие и подготовка
- Оператор Walrus в Python 3.8
- Сравнение def и lambda функций в Python
- Измерение времени выполнения кода
- Сравнение строк в Python
- Принципы программирования
- Асинхронное программирование с asyncio
- Отправка POST-запроса в REST API















