Курс 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. GitHub в Telegram: подписка на уведомления
  3. Генератор надежных паролей
  4. Операции с кортежами
  5. Фильтрация последовательности
  6. Добавление вложенных списков
  7. Генераторы списков в Python
  8. Избегайте двойного подчеркивания
  9. Измерение времени выполнения кода
  10. Метод radd для пользовательских чисел
  11. Удаление URL-адресов в Python
  12. Проверка элементов списка условием
  13. Синтаксис переменных цикла в Python
  14. Оптимизация гиперпараметров в Python
  15. Очистка списка от False, None, 0, «»
  16. Переменные класса и экземпляра
  17. Изменение переменной в Python: nonlocal
  18. Инвертирование словаря
  19. Обучение модели с указанием эпох
  20. Проверка дублей в списке.
  21. Concrete Paths в Python
  22. Python Аргументы по умолчанию
  23. Применение функций в Python
  24. Обязательные аргументы в Python
  25. Список импортированных модулей в Python
  26. Оценка выражений генератора в Python
  27. Поиск повторов в списке
  28. Преобразование букв в нижний регистр
  29. Установка и использование Python-dateutil
  30. Метод setdefault() в Python
  31. Копирование списков в Python
  32. Переворот списка в Python
  33. Настройка логгера Logzero
  34. Оператор in для проверки наличия элемента
  35. Возврат значений из генератора
  36. Конкатенация строк с join() в Python
  37. Импорт объектов из модулей
  38. Метод get() для словарей
  39. Добавление кнопки в tkinter
  40. Функция map() и ленивая оценка
  41. Установка и обучение ChatterBot
  42. Философия Python
  43. Заказ карты Тинькофф Black
  44. Обработка StopIteration в Python
  45. Работа с типами данных в Python с помощью pydantic.

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