Курс 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. Работа с JSON в Python
  2. Python OrderedDict и fromkeys() — работа с словарями
  3. Копирование словарей и списков в Python
  4. Управление браузером с Selenium
  5. Создание словарей с defaultdict()
  6. Измерение времени выполнения кода
  7. Функция reversed() в Python
  8. Типы возвращаемых значений в Python
  9. Декораторы в Python
  10. Python-dateutil — работа с датами
  11. Возвращение нескольких значений через кортеж или класс
  12. Использование функции product
  13. Правила именования переменных
  14. Поиск подстроки в строке
  15. Метод title() в Python
  16. Генератор списка с условием if
  17. Оптимизация гиперпараметров с Scikit Optimize
  18. Добавление элементов в список: append() vs extend()
  19. Получение значений из словарей
  20. Оператор is в Python
  21. Создание объекта timedelta
  22. Работа с collections в Python
  23. Динамическая типизация в Python
  24. Работа с контекстными менеджерами
  25. Python defaultdict добавление ключа
  26. Группировка элементов Python
  27. Dict Comprehension в Python
  28. Списковое включение в Python
  29. Работа с эмодзи в Python
  30. Преобразование чисел в слова
  31. Работа с итераторами в Python
  32. Операции с датами в Python
  33. Изменение IP-адреса в Python
  34. Вложенные генераторы в Python
  35. Нахождение пересечения множеств
  36. Подсчет элементов в Python
  37. Python Enumerate
  38. Форматирование строк с % в Python
  39. Генераторы списков в Python
  40. Экспорт внешнего файла с помощью writefile
  41. Проверка условий в Python
  42. Функция zip() в Python
  43. Удаление дубликатов из списка

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