Курс 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. Counter() — подсчет элементов
  2. Получение текущей даты и времени с помощью datetime
  3. Вложенные генераторы в Python
  4. Удаление дубликатов в pandas
  5. Тест скорости набора текста на Python
  6. Работа со строками в Python
  7. Модуль Operator в Python
  8. Оптимизация создания строк
  9. CLI-инструмент howdoi
  10. Хеши в Python
  11. Метод __int__ в Python
  12. Асинхронное выполнение задач в процессах
  13. Генерация фальшивых данных с Faker
  14. Роль запятой в Python
  15. Нарезка списков в Python
  16. Курс по дообучению ChatGPT
  17. Метод hash в Python
  18. Нахождение хеша для бесконечности и NaN в Python
  19. Получение имени функции с помощью inspect
  20. Переворот списка в Python
  21. Модуль os: работа с файлами и папками
  22. Python OrderedDict и fromkeys() — работа с словарями
  23. Удаление дубликатов из списка
  24. Работа с модулем Calendar
  25. Срезы в Python
  26. Передача словаря через **kwargs
  27. Использование модуля __future__
  28. Управление асинхронными задачами на Python.
  29. Глобальные переменные в Python
  30. Dict Comprehension в Python
  31. Отделение звука от видео
  32. Автоматизация с Python
  33. Сортировка слиянием
  34. Метод rsub для пользовательских чисел
  35. Удаление дубликатов из списка
  36. Выражения-генераторы в Python
  37. Сериализация объектов в Python
  38. Копирование словарей и списков в Python
  39. Метод сравнения объектов в Python
  40. Фильтрация списков с itertools
  41. Блок else в обработке исключений
  42. Сравнение def и lambda в Python
  43. Использование обратной косой черты в f-строках
  44. Работа с изменяемыми списками
  45. Генераторы в Python
  46. Вывод баннеров

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