Курс 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
- GitHub в Telegram: подписка на уведомления
- Генератор надежных паролей
- Операции с кортежами
- Фильтрация последовательности
- Добавление вложенных списков
- Генераторы списков в Python
- Избегайте двойного подчеркивания
- Измерение времени выполнения кода
- Метод radd для пользовательских чисел
- Удаление URL-адресов в Python
- Проверка элементов списка условием
- Синтаксис переменных цикла в Python
- Оптимизация гиперпараметров в Python
- Очистка списка от False, None, 0, «»
- Переменные класса и экземпляра
- Изменение переменной в Python: nonlocal
- Инвертирование словаря
- Обучение модели с указанием эпох
- Проверка дублей в списке.
- Concrete Paths в Python
- Python Аргументы по умолчанию
- Применение функций в Python
- Обязательные аргументы в Python
- Список импортированных модулей в Python
- Оценка выражений генератора в Python
- Поиск повторов в списке
- Преобразование букв в нижний регистр
- Установка и использование Python-dateutil
- Метод setdefault() в Python
- Копирование списков в Python
- Переворот списка в Python
- Настройка логгера Logzero
- Оператор in для проверки наличия элемента
- Возврат значений из генератора
- Конкатенация строк с join() в Python
- Импорт объектов из модулей
- Метод get() для словарей
- Добавление кнопки в tkinter
- Функция map() и ленивая оценка
- Установка и обучение ChatterBot
- Философия Python
- Заказ карты Тинькофф Black
- Обработка StopIteration в Python
- Работа с типами данных в Python с помощью pydantic.















