Курс 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"
- Получение ID текущего процесса
- Поиск индексов подстроки
- Создание объекта времени
- Оператор is в Python
- Вызов функций по строке в Python.
- Оператор del в Python
- Курс Data Scientist в медицине
- Декоратор @override
- Хеширование паролей с солью
- Оптимизация параметров в Python
- Библиотека sh: использование команд bash в Python
- Срез списка в Python
- Python Аргументы по умолчанию
- Управление контекстом с помощью декоратора contextmanager
- Обработка исключений в Python
- Определение наиболее частого элемента с помощью collections.Counter
- Генераторы в Python
- Удаление файлов с shutil.os.remove()
- Ограничение итераций в Python
- Переопределение метода __lshift__
- Удаление falsy-значений из списка с помощью filter
- Метод join для объединения строк
- Блок else в циклах Python
- Удаление эмодзи с помощью pandas
- Определение индекса элемента списка
- Flask: создание веб-приложений
- Оптимизация памяти с помощью __slots__
- Создание файла с проверкой ошибки
- Удаление специальных символов
- Оптимизация памяти с __slots__
- Python Поверхностное Копирование
- Мониторинг памяти с Pympler
- Управление асинхронными задачами на Python.
- Реализация метода __abs__ в Python
- Функция enumerate() в Python
- Метод rpow в Python
- Правила именования переменных
- Подсчет количества элементов в списке
- Список переменных с %who
- Фильтрация последовательности
- Оптимизация гиперпараметров в Python
- Многопоточность и асинхронное программирование в Python
- Изучение объектов с помощью dir()
- Работа с классами данных
- Импорт классов из другого файла
- Использование эмодзи в Python
- kwargs в Python















