Курс 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"
- Установка Git и AWS CLI
- Лимиты на ресурсы Python
- Ограничение итераций в Python
- Python enumerate() для работы с индексами
- Кортежи в Python: особенности и преимущества
- Нахождение пересечения множеств
- Работа с массивами в Python
- Добавление цвета в консоли
- Работа с enumerate()
- Вывод переменной и строки в Python
- Отладка регулярных выражений в Python
- Подсчет частоты элементов с Counter
- Работа с эмодзи в Python
- Beautiful Soup — извлечение данных из HTML
- Namedtuple в Python
- Метод rrshift для пользовательских объектов
- Сокращение ссылок с pyshorteners
- Поиск наиболее частого элемента
- Аннотации типов в Python
- Создание namedtuple списком полей
- Измерение времени выполнения с помощью time
- UserList в Python: Описание и примеры использования
- Создание объекта timedelta
- Перебор элементов списка в Python
- Обмен значений переменных в Python
- Пропуск строк в файле с itertools
- Частичное совпадение пользовательского ввода в Python 3.10
- Python и Юникод: работа с цифрами
- Получение обратного списка чисел
- Работа с набором данных CIFAR10 в PyTorch
- Функции высшего порядка в Python
- Объединение словарей в Python
- Использование подчеркивания в REPL
- Работа с срезами в Python
- Обновление данных через PUT запрос
- Частичное совпадение ввода
- Counter() — подсчет элементов
- Создание матрицы в Python
- Функция count() в Python
- Методы Python для работы с данными
- Работа с часовыми поясами в Python.
- Подсчет количества элементов в списке
- Поиск email
- Транспонирование 2D-массива с помощью zip
- Расчет времени выполнения кода
- Работа с многоуровневыми словарями в Python
- ROT13 Шифр Цезаря в Python
- Измерение времени выполнения кода















