Курс 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. Вставка переменных в шаблоны Flask
  2. Работа с файлами в Python
  3. Оптимизация создания строк
  4. GitHub в Telegram: подписка на уведомления
  5. Вычисление натуральных логарифмов в NumPy
  6. Удаление ключа из словаря
  7. Открытие, чтение и закрытие файла
  8. Просмотр атрибутов и методов класса
  9. Docstring в Python
  10. Проверка списка: any() и all()
  11. Работа с IP-адресами в Python
  12. Разделение строки в Python
  13. Обработка исключений в Python
  14. Работа с итераторами через срезы
  15. Руководство по Pymorphy2
  16. Создание вложенных циклов for
  17. Проверка однородности элементов списка
  18. Активация Matplotlib в Jupyter
  19. Оператор морж в Python 3.8
  20. Создание новых списков
  21. Подсказки при вводе данных в Python
  22. Операции с датами в Python
  23. Блок else в Python
  24. Порядок операций в Python
  25. Принципы LSP и ISP в Python
  26. Просмотр атрибутов и методов класса
  27. Определение объема памяти объекта
  28. Выражения-генераторы в Python
  29. Форматирование чисел в Python
  30. Переворот последовательности
  31. Enum в Python
  32. Строковое представление объектов
  33. Очистка данных с Pandas
  34. Сравнение def и lambda функций в Python
  35. Разделение функций на этапы
  36. Сортировка и обратный порядок
  37. Изменение элемента списка
  38. Оболочка Python
  39. Перемешивание списка с shuffle()
  40. Динамическая типизация в Python
  41. Метаклассы в Python

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