Курс 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. Участие в сообществе @selectel
  2. Отслеживание прогресса с tqdm
  3. Функции с необязательными аргументами
  4. Тип CodeType в Python.
  5. Транспонирование 2D-массива с помощью zip
  6. UserString в Python
  7. Генераторы данных
  8. Flask — веб-фреймворк Python
  9. Округление дробей в Python
  10. Работа с буфером обмена на Python
  11. Объединение множеств в Python
  12. Распаковка с оператором *
  13. Передача словаря через **kwargs
  14. Объединение словарей в Python
  15. Функция reduce() в Python
  16. Bootle — простой веб-фреймворк
  17. Хэш-функции и метод цепочек
  18. Создание .exe файла с pyinstaller
  19. Удаление элементов из списка в Python
  20. Конвертация текстовых чисел с помощью Numerizer
  21. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  22. Упрощенный вывод данных в Python
  23. Модуль itertools: эффективная работа с итераторами
  24. Работа с областями видимости переменных
  25. Декораторы с аргументами в Python
  26. Получение текущей даты в Python
  27. Измерение времени выполнения кода
  28. Работа с словарями в Python
  29. Вывод переменной и строки в Python
  30. Ускорение обработки данных с %autoawait
  31. Декораторы в Python
  32. Функция с *args.
  33. Python: возвращение нескольких значений
  34. Преобразование чисел в восьмеричную строку
  35. Работа с контекстным менеджером Pool
  36. Комментарии в Python
  37. Динамическая типизация в Python
  38. Уникальность ключей в словаре
  39. Глубокое копирование объектов
  40. Извлечение статей с newspaper3k
  41. Гибкие функции Python
  42. Метод __imod__ для Python
  43. Сортировка слиянием
  44. Именование столбцов в Python с pandas
  45. Просмотр внешних файлов в %pycat
  46. Многоточие в Python
  47. Частичное совпадение ввода

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