Курс 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. Измерение времени выполнения кода с помощью time
  2. Python defaultdict добавление ключа
  3. Подсказки типов в Python
  4. Отправка HTTP-запросов с User-Agent
  5. Numpy: использование Ellipsis
  6. Сглаживание списка
  7. Работа с WindowsPath()
  8. Работа с комплексными числами
  9. Обработка исключений
  10. Переопределение метода __eq__
  11. Округление дробей в Python
  12. Преобразование строк в числа в Python
  13. Оформление кода на Python
  14. Python enumerate() использование
  15. Удаление ссылок в Python
  16. Необязательные аргументы в Python
  17. Функция enumerate() в Python
  18. Бесконечные списки в Python
  19. Итерация по копии коллекции
  20. Метод enumerate() в Python
  21. Создание таблиц в терминале с PrettyTable
  22. Метод Self в Python
  23. Игра «Виселица» на Python
  24. Многострочные комментарии в Python
  25. Функция rsplit() в Python
  26. Поиск наиболее частого элемента
  27. Декораторы в Python
  28. Повторение элементов в Python
  29. Сравнение def и lambda функций в Python
  30. Работа с файлами в Python
  31. Установка и использование emoji
  32. Переворот строки с помощью срезов
  33. Оператор zip в Python
  34. Наследование в программировании
  35. Создание даты из строки ISO
  36. Основы слова
  37. Очистка входных данных
  38. Создание генераторов в Python
  39. Функция map() и ленивая оценка
  40. Использование super() в Python
  41. Список и кортеж в Python
  42. Нахождение разницы между списками в Python
  43. Поиск индекса элемента
  44. Копирование файлов с shutil()
  45. Итерация по итерируемым объектам
  46. Проверка типов с использованием isinstance

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