Курс Python → Сортировка с помощью key

Функция sorted() в Python используется для сортировки элементов итерируемого объекта. По умолчанию она сортирует его по возрастанию, но можно указать параметр key, чтобы определить функцию сортировки.

Параметр key позволяет указать функцию, по которой будет производиться сортировка. Например, если у нас есть список словарей и мы хотим отсортировать его по значению определенного ключа, мы можем использовать key=lambda x: x['key'].

Если мы хотим отсортировать список объектов класса, то параметр key является обязательным. Без него будет вызвана ошибка TypeError. Например, если у нас есть класс с атрибутом name, то мы можем использовать key=lambda x: x.name.

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

people = [Person('Alice', 25), Person('Bob', 30), Person('Charlie', 20)]
sorted_people = sorted(people, key=lambda x: x.age)
print([person.name for person in sorted_people])  # ['Charlie', 'Alice', 'Bob']

В приведенном примере мы создаем список объектов класса Person, сортируем его по возрасту с помощью параметра key и выводим отсортированные имена.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Введение в Python
  2. Логирование с Logzero
  3. Проекты на Python
  4. JMESPath в Python
  5. Подсчет количества элементов в списке
  6. Работа со словарями Python
  7. Конвертация коллекций в Python
  8. Python: отсутствие точек с запятыми
  9. Установка и использование Telegram API в Python
  10. Оператор «not» в Python
  11. Вывод переменной и строки в Python
  12. Преобразование списка в словарь через генератор
  13. Работа со словарями с defaultdict из collections
  14. Проверка индексов коллекции
  15. Применение функции к списку
  16. Объединение словарей в Python
  17. Циклы в Python
  18. Проблема с изменяемыми аргументами
  19. Модуль subprocess: запуск внешних команд
  20. Работа с Event() в threading
  21. Работа с пользовательским вводом
  22. Пространство имен в Python
  23. Python enumerate() для работы с индексами
  24. Преобразование чисел в восьмеричную строку
  25. Операции с датами в Python
  26. Повторение элементов в Python
  27. Работа с путями в Python
  28. Список переменных с %who
  29. Возврат нескольких значений
  30. Отправка HTTP-запросов в Python
  31. Экспорт внешнего файла с помощью writefile
  32. Мониторинг работы программы Py-spy
  33. Метод enumerate() в Python
  34. Работа со словарями в Python
  35. Конкатенация списков в Python
  36. Управление виртуальными окружениями в Python
  37. Метод join() для объединения элементов
  38. Функции map, filter, reduce
  39. Расчет времени выполнения
  40. Работа с Path в Python
  41. Логирование в Python
  42. Функция format() в Python

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