Курс 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. Метод __ixor__ для побитового исключающего ИЛИ
  2. Преобразование чисел в восьмеричную строку
  3. Установка и использование Python-dateutil
  4. Оптимизация гиперпараметров с Scikit Optimize
  5. Измерение времени выполнения кода в Python
  6. Метод rpow в Python
  7. Разделение функций на этапы
  8. Регистрация на TenChat
  9. Создание объекта timedelta
  10. Определение объема памяти объекта
  11. Регистрация на курсы SF Education
  12. Сортировка элементов с OrderedDict
  13. inspect в Python: анализ кода
  14. Сокращение ссылок с pyshorteners
  15. Конвертация изображений в PDF
  16. Списковое включение в Python
  17. Форматирование строк с f-строками
  18. ChainMap избыточные ключи
  19. Замена символов в Python
  20. Объединение кортежей в Python
  21. Декораторы в Python
  22. Получение ID текущего процесса
  23. discard() — удаление элемента из множества
  24. Удаление ключа из словаря в Python
  25. Проверка подстроки в строке с помощью in
  26. Управление памятью в numpy.
  27. Получение атрибутов и методов класса
  28. Поиск уникальных элементов строкой в Python
  29. Работа со строками
  30. Непрерывная проверка в Python
  31. Хранение переменных в словаре.
  32. Асинхронный код в Python
  33. Оператор += для объединения строк
  34. Отправка поздравлений по дню рождения
  35. Python 3.12: Псевдонимы типов
  36. Получение размера объекта с sys.getsizeof()
  37. Объединение строк с помощью метода join
  38. Асинхронное программирование с asyncio
  39. Создание словарей в Python
  40. Добавление Progressbar в Python
  41. Парсинг статей с Newspaper3k
  42. Объединение словарей в Python
  43. Управление виртуальными средами в Python
  44. Декораторы для регистрации функций
  45. Управление сессиями в Python
  46. Работа с defaultdictами в Python

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