Курс 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 3.5+
  2. Управление контекстом выполнения
  3. Функция pow() — возвести число в степень
  4. Удаление ключей из словаря
  5. Обновление данных через PUT запрос
  6. Создание словарей с defaultdict()
  7. Печать в одной строке
  8. Применение функции к каждому элементу списка
  9. Просмотр атрибутов и методов класса
  10. Множественное наследование в Python
  11. Генерация ключей RSA
  12. Установка и загрузка Instaloader
  13. Операторы увеличения и уменьшения переменной
  14. Подсчет элементов в Python
  15. Функции высшего порядка в Python
  16. Лямбда-функции в Python
  17. Получение текущей даты и времени
  18. Функции в Python: создание и вызов
  19. Поиск повторов в списке
  20. Явный импорт в Python
  21. Список и кортеж в Python
  22. Создание namedtuple списком полей
  23. Создание словарей в Python
  24. Сортировка и обратный порядок
  25. Импорт модулей в Python 3.12
  26. Улучшение читаемости кода в Python
  27. Копирование файлов с shutil()
  28. Метод get() для словарей
  29. Фильтрация данных в Python.
  30. Библиотека schedule: планировщик задач
  31. Поиск уникальных и повторяющихся элементов
  32. Использование функции enumerate()
  33. Работа с collections.Counter
  34. Функция divmod() в Python
  35. Возврат значений из генератора
  36. JSON-esque в Python
  37. Проверка подстроки в строке
  38. Работа с массивами в Python
  39. Создание Radio кнопок в tkinter
  40. Списковое включение в Python
  41. Создание коллекций из выражения-генератора
  42. Мощь вложенных функций в Python

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