Курс 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. Получение ID текущего процесса
  2. Поиск индексов подстроки
  3. Создание объекта времени
  4. Оператор is в Python
  5. Вызов функций по строке в Python.
  6. Оператор del в Python
  7. Курс Data Scientist в медицине
  8. Декоратор @override
  9. Хеширование паролей с солью
  10. Оптимизация параметров в Python
  11. Библиотека sh: использование команд bash в Python
  12. Срез списка в Python
  13. Python Аргументы по умолчанию
  14. Управление контекстом с помощью декоратора contextmanager
  15. Обработка исключений в Python
  16. Определение наиболее частого элемента с помощью collections.Counter
  17. Генераторы в Python
  18. Удаление файлов с shutil.os.remove()
  19. Ограничение итераций в Python
  20. Переопределение метода __lshift__
  21. Удаление falsy-значений из списка с помощью filter
  22. Метод join для объединения строк
  23. Блок else в циклах Python
  24. Удаление эмодзи с помощью pandas
  25. Определение индекса элемента списка
  26. Flask: создание веб-приложений
  27. Оптимизация памяти с помощью __slots__
  28. Создание файла с проверкой ошибки
  29. Удаление специальных символов
  30. Оптимизация памяти с __slots__
  31. Python Поверхностное Копирование
  32. Мониторинг памяти с Pympler
  33. Управление асинхронными задачами на Python.
  34. Реализация метода __abs__ в Python
  35. Функция enumerate() в Python
  36. Метод rpow в Python
  37. Правила именования переменных
  38. Подсчет количества элементов в списке
  39. Список переменных с %who
  40. Фильтрация последовательности
  41. Оптимизация гиперпараметров в Python
  42. Многопоточность и асинхронное программирование в Python
  43. Изучение объектов с помощью dir()
  44. Работа с классами данных
  45. Импорт классов из другого файла
  46. Использование эмодзи в Python
  47. kwargs в Python

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