Курс 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"
- Получение списка файлов в директории с использованием os
- Python Метод del.
- Объединение словарей в Python
- Измерение времени выполнения
- Оператор «or» в Python
- Поиск наиболее частого элемента списке
- Создание GUI с Tkinter: Entry
- Быстрый поиск кода
- Возврат нескольких значений из функции
- Участие в сообществе @selectel
- Работа с Colorama
- Генераторы списков
- Метод get() в Python
- Разделение строки с регулярными выражениями
- Хеширование паролей с использованием salt
- Управление фоновыми задачами в Python
- Абстракции словарей и множеств в Python
- Обработка исключений в Python
- Модуль inspect
- Присвоение значений переменным в Python
- Работа с модулем bisect
- Изменения в обработке логических значений
- Структуры данных в Python
- Регистрация на хакатоне
- Декораторы в Python
- Хеширование паролей с солью
- Просмотр файла в Jupyter Noteboo
- Замена символов в Python
- Автоматизация с Python
- Метаклассы в Python
- Создание и удаление объектов
- Декораторы в Python
- Руководство по Pymorphy2
- Импорт модулей и пакетов в Python
- Создание копии итератора
- Операторы += в Python
- Декоратор Ajax required
- Работа с NumPy.linalg
- Форматирование вывода с F-строками
- Функция enumerate() — Python
- Работа с YAML в Python: PyYAML.
- Синхронизация потоков с time.sleep()
- Переопределение метода
- Работа с defaultdictами в Python















