Курс 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. Объединение списков с помощью zip
  2. Python reversed() vs срез[::-1]
  3. Поиск HTML-элементов с BeautifulSoup
  4. Удаление дубликатов из списка с помощью dict.fromkeys
  5. Упрощение работы с JSON-данными в Python
  6. Python Менеджер контекста
  7. Форматирование строк в Python
  8. Модуль future Python
  9. Методы в Python
  10. Распаковка элементов массива
  11. Сохранение и загрузка модели в PyTorch
  12. Возврат значений из генератора
  13. Печать календаря
  14. Перебор элементов списка в Python
  15. Условные выражения в Python
  16. Считывание бинарного файла в Python
  17. Модуль itertools: комбинации и перестановки
  18. Тестирование функции сложения
  19. Метод Self в Python
  20. Избегайте использования goto
  21. Аннотации типов в Python
  22. Список импортированных модулей в Python
  23. Функция zip() — объединение последовательностей
  24. Функция enumerate() в Python
  25. Сортировка данных с лямбда-функциями
  26. Ограничение ресурсов в Python
  27. Вакансии в Nebius
  28. Объединение словарей в Python
  29. Вызов внешних программ в Python с помощью sh
  30. Удаление элементов из списка в Python
  31. Функции map() и reduce() в Python
  32. Преобразование в float
  33. Логирование с Logzero
  34. Работа со словарями
  35. Работа с кортежами в Python
  36. Генерация строк с .join()
  37. Подписка на каналы разработчиков
  38. Функции range() в Python
  39. Оператор «моржа» (Walrus Operator)
  40. Оператор break в Python
  41. Генераторы в Python
  42. Нахождение пересечения множеств
  43. Обрезка изображения с Pillow
  44. Создание .exe файла с pyinstaller
  45. Установка Python3.7 и PIP
  46. Конкатенация строковых литералов

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