Курс 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. Список переменных с %who
  2. Создание списков в Python
  3. Поиск индекса элемента
  4. Работа с SQLite в Python
  5. Работа с дробями в Python
  6. Создание пар из последовательностей
  7. Основные методы NumPy
  8. Метод get для словаря
  9. Работа с модулем Calendar
  10. Определение имен функций
  11. Упрощение работы с JSON-данными в Python
  12. Преобразование в float
  13. Работа с модулем cmath
  14. Генераторы в Python
  15. Создание комплексных чисел
  16. Атрибуты объекта в Python
  17. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  18. Функция __init__ в Python
  19. Типы возвращаемых значений в Python
  20. Python: цикл for и оператор присваивания
  21. Повторение элементов в Python
  22. Объединение словарей в Python
  23. Создание виртуальной среды
  24. Парсинг статей с Newspaper3k
  25. Логирование с Logzero
  26. Анонимные функции в Python
  27. Избегайте ошибку FileNotFoundError
  28. Создание словарей в Python
  29. Оператор умножения для вектора
  30. Тип CodeType в Python.
  31. Переворот списка в Python
  32. Профилирование кода
  33. Декораторы в Python
  34. Автоматизация скриптов на AWS Lightsail.
  35. Комплексные числа в Python
  36. Удаление дубликатов из списка
  37. Библиотека sh: удобные команды терминала
  38. Операции со строками в Python
  39. Обучение модели с указанием эпох
  40. Создание вложенных циклов for
  41. Область видимости переменных в Python
  42. Аргумент по умолчанию
  43. Перехват исключений в Python
  44. Повторение и перенос строки
  45. Замена переменных в Python

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