Курс 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"
- Измерение времени выполнения кода с помощью time
- Python defaultdict добавление ключа
- Подсказки типов в Python
- Отправка HTTP-запросов с User-Agent
- Numpy: использование Ellipsis
- Сглаживание списка
- Работа с WindowsPath()
- Работа с комплексными числами
- Обработка исключений
- Переопределение метода __eq__
- Округление дробей в Python
- Преобразование строк в числа в Python
- Оформление кода на Python
- Python enumerate() использование
- Удаление ссылок в Python
- Необязательные аргументы в Python
- Функция enumerate() в Python
- Бесконечные списки в Python
- Итерация по копии коллекции
- Метод enumerate() в Python
- Создание таблиц в терминале с PrettyTable
- Метод Self в Python
- Игра «Виселица» на Python
- Многострочные комментарии в Python
- Функция rsplit() в Python
- Поиск наиболее частого элемента
- Декораторы в Python
- Повторение элементов в Python
- Сравнение def и lambda функций в Python
- Работа с файлами в Python
- Установка и использование emoji
- Переворот строки с помощью срезов
- Оператор zip в Python
- Наследование в программировании
- Создание даты из строки ISO
- Основы слова
- Очистка входных данных
- Создание генераторов в Python
- Функция map() и ленивая оценка
- Использование super() в Python
- Список и кортеж в Python
- Нахождение разницы между списками в Python
- Поиск индекса элемента
- Копирование файлов с shutil()
- Итерация по итерируемым объектам
- Проверка типов с использованием isinstance















