Курс 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. Декораторы в Python
  2. Игра «Виселица» на Python
  3. Многоточие в Python
  4. Работа с NumPy.linalg
  5. Удаление первого элемента списка
  6. Логирование в Python
  7. Оформление кода по PEP 8
  8. Генератор надежных паролей
  9. Простой калькулятор Python
  10. Функция с *args.
  11. Работа с парами ключ-значение
  12. Декоратор total_ordering для класса Point
  13. Методы и функции в Python
  14. Удаление специальных символов
  15. Работа с областями видимости переменных
  16. Создание копии списка в Python
  17. IPython и Jupyter Notebook: руководство
  18. Условные выражения в Python
  19. Отладка утечек памяти в Python
  20. Работа со строками в Python
  21. Функция product() из itertools
  22. TON Smart Challenge #2: участие и подготовка
  23. Подписка на SelectelNews в Twitter
  24. Скачать видео с YouTube
  25. Преобразование многоуровневого словаря
  26. Изменение IP-адреса в Python
  27. Отправка поздравлений по дню рождения
  28. Создание уникального множества
  29. Конвертация коллекций в Python
  30. Удаление пробелов методом translate()
  31. Генерация строк с .join()
  32. Работа с Telegram API на Python
  33. Метод __getitem__ в Python
  34. Извлечение аудио из видео
  35. Пустой оператор pass в Python
  36. Проблема с изменяемыми аргументами
  37. Метод __int__ в Python
  38. Оптимизация гиперпараметров с Scikit Optimize
  39. Порядок операций в Python
  40. Фильтрация списков с itertools
  41. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  42. Просмотр внешнего файла в Python
  43. Генераторные функции в Python
  44. Работа с IP-адресами в Python
  45. Python: отличительная особенность — отступы
  46. Обрезка изображения с Pillow

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