Курс 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"

  1. Любовь к Python
  2. Область видимости переменных
  3. Векторизация в Python с NumPy.
  4. Получение текущей даты и времени
  5. Сравнение def и lambda в Python
  6. Функции в Python
  7. Ускоренный импорт библиотек
  8. Метод getitem для доступа к элементам последовательности
  9. Капитализация строк
  10. Работа с NumPy.linalg
  11. Создание списка через цикл
  12. Установка Git и AWS CLI
  13. Вывод баннеров
  14. Поиск повторов в списке
  15. Поиск наиболее частого элемента списке
  16. Отступы в Python
  17. Динамическая типизация в Python
  18. Работа с датой и временем в Python
  19. Flask: создание веб-приложений
  20. Функция zip() в Python
  21. Статическая типизация в Python
  22. Анонимные функции в Python
  23. Форматирование чисел в Python
  24. Реверс строки и списка в Python.
  25. Форматирование строк в Python.
  26. Виртуальное окружение Python
  27. Определение индекса элемента списка
  28. Расчет времени выполнения
  29. Работа с WindowsPath()
  30. Генерация UUID в Python
  31. Возвращение нескольких значений
  32. GitHub в Telegram: подписка на уведомления
  33. Создание вложенного генератора
  34. Форматирование строк в Python
  35. Оператор zip в Python
  36. Оператор += для объединения строк
  37. Операции с кортежами
  38. Декоратор total_ordering для класса Point
  39. Создание обратного итератора
  40. Colorama: окрашивание текста в Python
  41. Объединение словарей в Python
  42. Гибкие функции Python
  43. Сериализация объектов в Python
  44. Получение списка кортежей из словаря

Marketello читают маркетологи из крутых компаний