Курс 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"
- Работа с deque в Python
- Создание списков в Python
- Создание итератора
- Перегрузка операторов в Python
- Импорт классов из другого файла
- Использование функции product
- Применение функций в Python
- Использование super() в Python
- Профилирование кода
- Ограничение ресурсов в Python
- Создание новых списков в Python
- Проверка типов с помощью isinstance
- Тестирование с unittest
- Условные выражения в Python
- Функция enumerate() — Python
- Сохранение Unicode в JSON
- Работа с SQLite в Python
- Создание namedtuple списком полей
- Сортировка HTML-элементов
- Метод __iand__ для пользовательских классов
- Работа с Event() в threading
- Улучшенные подсказки для импорта в Python 3.12
- Проверка типа объекта в Python
- Форматирование чисел в Python
- Отслеживание прогресса с tqdm
- Генератор списка в Python
- Создание таблиц в Python с PrettyTable
- Преобразование кортежа в словарь.
- Работа с URL-адресами в Python
- Декораторы в Python
- CSV строка разделение в Python
- Поиск подстроки в строке
- Создание и инициализация объектов
- Создание списка через цикл
- Работа с областями видимости переменных
- Подсчет элементов в Python
- Объединение словарей в Python 3.5+
- Метод split() в Python
- Асинхронный код в Python
- Основы Python
- Работа с каталогами в Python
- Псевдонимы в Python
- Вычисление натуральных логарифмов в NumPy















