Курс 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"
- Объединение списков с помощью zip
- Python reversed() vs срез[::-1]
- Поиск HTML-элементов с BeautifulSoup
- Удаление дубликатов из списка с помощью dict.fromkeys
- Упрощение работы с JSON-данными в Python
- Python Менеджер контекста
- Форматирование строк в Python
- Модуль future Python
- Методы в Python
- Распаковка элементов массива
- Сохранение и загрузка модели в PyTorch
- Возврат значений из генератора
- Печать календаря
- Перебор элементов списка в Python
- Условные выражения в Python
- Считывание бинарного файла в Python
- Модуль itertools: комбинации и перестановки
- Тестирование функции сложения
- Метод Self в Python
- Избегайте использования goto
- Аннотации типов в Python
- Список импортированных модулей в Python
- Функция zip() — объединение последовательностей
- Функция enumerate() в Python
- Сортировка данных с лямбда-функциями
- Ограничение ресурсов в Python
- Вакансии в Nebius
- Объединение словарей в Python
- Вызов внешних программ в Python с помощью sh
- Удаление элементов из списка в Python
- Функции map() и reduce() в Python
- Преобразование в float
- Логирование с Logzero
- Работа со словарями
- Работа с кортежами в Python
- Генерация строк с .join()
- Подписка на каналы разработчиков
- Функции range() в Python
- Оператор «моржа» (Walrus Operator)
- Оператор break в Python
- Генераторы в Python
- Нахождение пересечения множеств
- Обрезка изображения с Pillow
- Создание .exe файла с pyinstaller
- Установка Python3.7 и PIP
- Конкатенация строковых литералов















