Курс 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. Работа с deque в Python
  2. Создание списков в Python
  3. Создание итератора
  4. Перегрузка операторов в Python
  5. Импорт классов из другого файла
  6. Использование функции product
  7. Применение функций в Python
  8. Использование super() в Python
  9. Профилирование кода
  10. Ограничение ресурсов в Python
  11. Создание новых списков в Python
  12. Проверка типов с помощью isinstance
  13. Тестирование с unittest
  14. Условные выражения в Python
  15. Функция enumerate() — Python
  16. Сохранение Unicode в JSON
  17. Работа с SQLite в Python
  18. Создание namedtuple списком полей
  19. Сортировка HTML-элементов
  20. Метод __iand__ для пользовательских классов
  21. Работа с Event() в threading
  22. Улучшенные подсказки для импорта в Python 3.12
  23. Проверка типа объекта в Python
  24. Форматирование чисел в Python
  25. Отслеживание прогресса с tqdm
  26. Генератор списка в Python
  27. Создание таблиц в Python с PrettyTable
  28. Преобразование кортежа в словарь.
  29. Работа с URL-адресами в Python
  30. Декораторы в Python
  31. CSV строка разделение в Python
  32. Поиск подстроки в строке
  33. Создание и инициализация объектов
  34. Создание списка через цикл
  35. Работа с областями видимости переменных
  36. Подсчет элементов в Python
  37. Объединение словарей в Python 3.5+
  38. Метод split() в Python
  39. Асинхронный код в Python
  40. Основы Python
  41. Работа с каталогами в Python
  42. Псевдонимы в Python
  43. Вычисление натуральных логарифмов в NumPy

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