Курс 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
- Многоточие в Python
- Работа с NumPy.linalg
- Удаление первого элемента списка
- Логирование в Python
- Оформление кода по PEP 8
- Генератор надежных паролей
- Простой калькулятор Python
- Функция с *args.
- Работа с парами ключ-значение
- Декоратор total_ordering для класса Point
- Методы и функции в Python
- Удаление специальных символов
- Работа с областями видимости переменных
- Создание копии списка в Python
- IPython и Jupyter Notebook: руководство
- Условные выражения в Python
- Отладка утечек памяти в Python
- Работа со строками в Python
- Функция product() из itertools
- TON Smart Challenge #2: участие и подготовка
- Подписка на SelectelNews в Twitter
- Скачать видео с YouTube
- Преобразование многоуровневого словаря
- Изменение IP-адреса в Python
- Отправка поздравлений по дню рождения
- Создание уникального множества
- Конвертация коллекций в Python
- Удаление пробелов методом translate()
- Генерация строк с .join()
- Работа с Telegram API на Python
- Метод __getitem__ в Python
- Извлечение аудио из видео
- Пустой оператор pass в Python
- Проблема с изменяемыми аргументами
- Метод __int__ в Python
- Оптимизация гиперпараметров с Scikit Optimize
- Порядок операций в Python
- Фильтрация списков с itertools
- Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
- Просмотр внешнего файла в Python
- Генераторные функции в Python
- Работа с IP-адресами в Python
- Python: отличительная особенность — отступы
- Обрезка изображения с Pillow















