Курс 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. Установка Git и AWS CLI
  2. Лимиты на ресурсы Python
  3. Ограничение итераций в Python
  4. Python enumerate() для работы с индексами
  5. Кортежи в Python: особенности и преимущества
  6. Нахождение пересечения множеств
  7. Работа с массивами в Python
  8. Добавление цвета в консоли
  9. Работа с enumerate()
  10. Вывод переменной и строки в Python
  11. Отладка регулярных выражений в Python
  12. Подсчет частоты элементов с Counter
  13. Работа с эмодзи в Python
  14. Beautiful Soup — извлечение данных из HTML
  15. Namedtuple в Python
  16. Метод rrshift для пользовательских объектов
  17. Сокращение ссылок с pyshorteners
  18. Поиск наиболее частого элемента
  19. Аннотации типов в Python
  20. Создание namedtuple списком полей
  21. Измерение времени выполнения с помощью time
  22. UserList в Python: Описание и примеры использования
  23. Создание объекта timedelta
  24. Перебор элементов списка в Python
  25. Обмен значений переменных в Python
  26. Пропуск строк в файле с itertools
  27. Частичное совпадение пользовательского ввода в Python 3.10
  28. Python и Юникод: работа с цифрами
  29. Получение обратного списка чисел
  30. Работа с набором данных CIFAR10 в PyTorch
  31. Функции высшего порядка в Python
  32. Объединение словарей в Python
  33. Использование подчеркивания в REPL
  34. Работа с срезами в Python
  35. Обновление данных через PUT запрос
  36. Частичное совпадение ввода
  37. Counter() — подсчет элементов
  38. Создание матрицы в Python
  39. Функция count() в Python
  40. Методы Python для работы с данными
  41. Работа с часовыми поясами в Python.
  42. Подсчет количества элементов в списке
  43. Поиск email
  44. Транспонирование 2D-массива с помощью zip
  45. Расчет времени выполнения кода
  46. Работа с многоуровневыми словарями в Python
  47. ROT13 Шифр Цезаря в Python
  48. Измерение времени выполнения кода

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