Курс 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. Отображение графиков в Jupyter с Matplotlib
  2. Замена текста в Python
  3. Работа с процессами в Python
  4. Установка и обучение ChatterBot
  5. Поиск индексов подстроки
  6. Конкатенация строк в Python
  7. Работа с Requests для HTTP-запросов
  8. Преобразование числа в список цифр
  9. Оформление кода по PEP 8
  10. Flask: создание веб-приложений
  11. Операции с датами в Python
  12. Поток данных в Python
  13. Форматирование строк в Python
  14. Отображение HTML кода в Python
  15. Создание новых функций через partial
  16. Python Метод sleep() из time
  17. Использование обратной косой черты в f-строках
  18. Множественное назначение в Python
  19. Удаление элемента из списка в Python
  20. Функция count() в Python
  21. Декоратор Property в Python
  22. Создание задания в Cron
  23. Декораторы в Python
  24. Python Тесты и Гайды
  25. Получение частей дроби
  26. Разделение строки с помощью re.split()
  27. Получение обратного списка чисел
  28. Python groupby() из itertools: работа с повторяющимися элементами
  29. Работа с кортежами в Python
  30. Различия символов в Python
  31. Декодирование байтов в строку
  32. Функция divmod() в Python
  33. Методы __repr__ и __str__ в Python
  34. Функция enumerate() в Python
  35. Создание обратного итератора
  36. Подписка на каналы разработчиков
  37. Измерение времени выполнения с помощью time
  38. Удаление файлов и папок в Python
  39. Метод getitem для доступа к элементам последовательности
  40. Перегрузка операторов в Python
  41. Генераторные функции в Python
  42. Генераторы списков в Python
  43. Явный импорт в Python
  44. Работа с PosixPath() в Python
  45. Декораторы с аргументами в Python
  46. Роль ключевого слова self

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