Курс 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. Метод rmatmul для пользовательских матриц
  2. Объединение коллекций в Python
  3. Работа с контекстными переменными
  4. Строки в Python: апострофы и кавычки
  5. Python Метод sleep() времени
  6. Преобразование кортежа в словарь.
  7. Курсы Яндекс Практикум
  8. Аннотации типов в Python
  9. Инверсия списков и строк в Python
  10. Метод count() для списков
  11. Синхронизация потоков с time.sleep()
  12. Циклы for в Python
  13. Проверка однородности элементов списка
  14. Нарезка списков в Python
  15. Форматирование строк в Python
  16. Переменные в Python
  17. Вывод баннеров
  18. Импорт модулей в Python 3.12
  19. Подсчет частоты элементов с Counter
  20. Преобразование регистра строк
  21. Дефолтные параметры в Python
  22. Список импортированных модулей в Python
  23. Метод count в Python: почему count(», ») возвращает 4?
  24. Раздувающийся словарь в Python
  25. Работа с итераторами в Python
  26. Определение объема памяти объекта
  27. Переменная Шредингера
  28. Декораторы для регистрации функций
  29. Определение локальных переменных в Python
  30. Работа с кортежами в Python
  31. Срезы в Python
  32. Работа с файловой системой в Python
  33. Лямбда-функции в цикле
  34. Пространство имен в Python
  35. Сравнение def и lambda-функций
  36. Progress с библиотекой tqdm
  37. JSON-esque в Python
  38. Модуль functools в Python
  39. Метод add для класса Vector
  40. Списки в Python: синтаксис представления
  41. Создание новой даты в Python
  42. Представление бесконечности в Python
  43. Изменение логики работы с временем
  44. Управление пакетами с pip
  45. Тестирование времени с Freezegun

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