Курс 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. Обработка исключений в Python
  3. Модуль pprint: улучшение вывода данных
  4. Установка и использование Virtualenv
  5. Поиск индекса элемента в списке
  6. Вывод баннеров
  7. Лямбда-функции в цикле
  8. Обработка исключений в Python 3
  9. Декоратор Ajax required
  10. Многоточие в Python
  11. Замена элементов в списке с помощью генераторов списков
  12. Транспонирование матрицы в Python
  13. Работа с файлами и директориями в Python.
  14. Именование столбцов в Python с pandas
  15. Использование модуля math
  16. Управление доступом к модулю
  17. Подсчет частотности элементов в Python
  18. CLI-инструмент howdoi
  19. Логические значения в Python
  20. Проблемы с именами переменных
  21. Функция zip() в Python
  22. Бесконечные списки в Python
  23. Создание словарей с defaultdict
  24. Замер времени выполнения кода
  25. Операторы сравнения в Python
  26. Декораторы в Python
  27. Преобразование строк в числа в Python
  28. Вызов внешних программ в Python с помощью sh
  29. Работа с географическими данными.
  30. Оператор += для объединения строк
  31. Оператор морж в Python 3.8
  32. Переопределение метода __pow__
  33. Работа со временем в Python
  34. Метод get() для словарей
  35. Работа с областями видимости переменных
  36. Работа с OpenCV
  37. Сортировка слиянием
  38. Работа с модулем bisect
  39. Переворот строки с использованием цикла
  40. Операторы += в Python
  41. Частичное совпадение пользовательского ввода в Python 3.10
  42. Функции высшего порядка в Python
  43. Декораторы в Python
  44. Преобразование текста в нижний регистр
  45. Отладка в Python
  46. Разделение функций на этапы

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