Курс 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. Получение списка файлов в директории с использованием os
  2. Python Метод del.
  3. Объединение словарей в Python
  4. Измерение времени выполнения
  5. Оператор «or» в Python
  6. Поиск наиболее частого элемента списке
  7. Создание GUI с Tkinter: Entry
  8. Быстрый поиск кода
  9. Возврат нескольких значений из функции
  10. Участие в сообществе @selectel
  11. Работа с Colorama
  12. Генераторы списков
  13. Метод get() в Python
  14. Разделение строки с регулярными выражениями
  15. Хеширование паролей с использованием salt
  16. Управление фоновыми задачами в Python
  17. Абстракции словарей и множеств в Python
  18. Обработка исключений в Python
  19. Модуль inspect
  20. Присвоение значений переменным в Python
  21. Работа с модулем bisect
  22. Изменения в обработке логических значений
  23. Структуры данных в Python
  24. Регистрация на хакатоне
  25. Декораторы в Python
  26. Хеширование паролей с солью
  27. Просмотр файла в Jupyter Noteboo
  28. Замена символов в Python
  29. Автоматизация с Python
  30. Метаклассы в Python
  31. Создание и удаление объектов
  32. Декораторы в Python
  33. Руководство по Pymorphy2
  34. Импорт модулей и пакетов в Python
  35. Создание копии итератора
  36. Операторы += в Python
  37. Декоратор Ajax required
  38. Работа с NumPy.linalg
  39. Форматирование вывода с F-строками
  40. Функция enumerate() — Python
  41. Работа с YAML в Python: PyYAML.
  42. Синхронизация потоков с time.sleep()
  43. Переопределение метода
  44. Работа с defaultdictами в Python

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