Курс 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"
- Отображение графиков в Jupyter с Matplotlib
- Замена текста в Python
- Работа с процессами в Python
- Установка и обучение ChatterBot
- Поиск индексов подстроки
- Конкатенация строк в Python
- Работа с Requests для HTTP-запросов
- Преобразование числа в список цифр
- Оформление кода по PEP 8
- Flask: создание веб-приложений
- Операции с датами в Python
- Поток данных в Python
- Форматирование строк в Python
- Отображение HTML кода в Python
- Создание новых функций через partial
- Python Метод sleep() из time
- Использование обратной косой черты в f-строках
- Множественное назначение в Python
- Удаление элемента из списка в Python
- Функция count() в Python
- Декоратор Property в Python
- Создание задания в Cron
- Декораторы в Python
- Python Тесты и Гайды
- Получение частей дроби
- Разделение строки с помощью re.split()
- Получение обратного списка чисел
- Python groupby() из itertools: работа с повторяющимися элементами
- Работа с кортежами в Python
- Различия символов в Python
- Декодирование байтов в строку
- Функция divmod() в Python
- Методы __repr__ и __str__ в Python
- Функция enumerate() в Python
- Создание обратного итератора
- Подписка на каналы разработчиков
- Измерение времени выполнения с помощью time
- Удаление файлов и папок в Python
- Метод getitem для доступа к элементам последовательности
- Перегрузка операторов в Python
- Генераторные функции в Python
- Генераторы списков в Python
- Явный импорт в Python
- Работа с PosixPath() в Python
- Декораторы с аргументами в Python
- Роль ключевого слова self















