Курс 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"
- Counter() — подсчет элементов
- Получение текущей даты и времени с помощью datetime
- Вложенные генераторы в Python
- Удаление дубликатов в pandas
- Тест скорости набора текста на Python
- Работа со строками в Python
- Модуль Operator в Python
- Оптимизация создания строк
- CLI-инструмент howdoi
- Хеши в Python
- Метод __int__ в Python
- Асинхронное выполнение задач в процессах
- Генерация фальшивых данных с Faker
- Роль запятой в Python
- Нарезка списков в Python
- Курс по дообучению ChatGPT
- Метод hash в Python
- Нахождение хеша для бесконечности и NaN в Python
- Получение имени функции с помощью inspect
- Переворот списка в Python
- Модуль os: работа с файлами и папками
- Python OrderedDict и fromkeys() — работа с словарями
- Удаление дубликатов из списка
- Работа с модулем Calendar
- Срезы в Python
- Передача словаря через **kwargs
- Использование модуля __future__
- Управление асинхронными задачами на Python.
- Глобальные переменные в Python
- Dict Comprehension в Python
- Отделение звука от видео
- Автоматизация с Python
- Сортировка слиянием
- Метод rsub для пользовательских чисел
- Удаление дубликатов из списка
- Выражения-генераторы в Python
- Сериализация объектов в Python
- Копирование словарей и списков в Python
- Метод сравнения объектов в Python
- Фильтрация списков с itertools
- Блок else в обработке исключений
- Сравнение def и lambda в Python
- Использование обратной косой черты в f-строках
- Работа с изменяемыми списками
- Генераторы в Python
- Вывод баннеров















