Курс 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 с pygame
  2. Работа с датой и временем в Python
  3. Конкатенация строк в Python
  4. Получение частей дроби
  5. Базовые объекты Python
  6. Работа с библиотекой xkcd
  7. Присвоение значений переменным в Python
  8. Сложные типы данных в Python
  9. Хеширование паролей с использованием salt
  10. Копирование объектов в Python
  11. Скрытие вывода данных
  12. Создание вложенных циклов for
  13. Функции высшего порядка в Python
  14. globals и locals
  15. Присвоение и ссылки
  16. Декораторы в Python
  17. Хэш-функции и метод цепочек
  18. Генерация UUID в Python
  19. Настройка шрифта и цвета в Tkinter
  20. Подсчет элементов в списке с Counter
  21. Оформление кода по PEP 8
  22. Глубокое копирование объектов
  23. Конвертация текстовых чисел с помощью Numerizer
  24. Получение срезов итераторов
  25. Создание списков в Python
  26. Вызов внешних программ в Python с помощью sh
  27. Декораторы в Python
  28. f-строки в формате строк
  29. Работа с файлами в Python
  30. Преобразование типов данных в set comprehension
  31. Возврат нескольких значений
  32. Функция product() в Python
  33. Участие в сообществе @selectel
  34. Ускорение выполнения кода в Python
  35. Списковый компрехеншен.
  36. Сложение матриц в NumPy
  37. Применение промокода в Много лосося
  38. CLI-инструмент howdoi
  39. Проверка на палиндром
  40. Форматирование строк с f-строками
  41. Игра «Виселица» на Python
  42. Поиск индекса элемента
  43. Группировка элементов в словарь

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