Курс 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. Руководство по использованию Colorama
  3. Декораторы в Python
  4. Работа с парами ключ-значение
  5. f-строки в формате строк
  6. Глобальные переменные в Python
  7. Лямбда-функции в defaultdict
  8. Использование super() в Python
  9. Переворот строки
  10. Создание новых списков в Python
  11. Разделение строки на пары ключ-значение.
  12. Работа с collections.Counter
  13. Python-dateutil — работа с датами
  14. Dict Comprehension в Python
  15. Аргументы *args и **kwargs
  16. Numpy: разбиение массивов
  17. Поиск частого элемента
  18. Конвертация коллекций в Python.
  19. Работа с пакетами
  20. Создание и использование модулей в Python
  21. Многострочные комментарии в Python
  22. Переменная Шредингера
  23. Бесконечные списки в Python
  24. Логирование с Logzero
  25. Измерение времени выполнения кода с помощью time
  26. Поиск подстроки в строке
  27. Хешируемые ключи в Python
  28. Передача неизвестных аргументов в Python.
  29. Работа со строками в Python
  30. Отладка утечек памяти в Python
  31. Метод __index__ в Python
  32. Извлечение данных из JSON
  33. Операторы += в Python
  34. Python Тесты и Гайды
  35. Генераторные выражения и islice.
  36. TON Smart Challenge #2: участие и подготовка
  37. Оператор Walrus в Python 3.8
  38. Сравнение def и lambda функций в Python
  39. Измерение времени выполнения кода
  40. Сравнение строк в Python
  41. Принципы программирования
  42. Асинхронное программирование с asyncio
  43. Отправка POST-запроса в REST API

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