Курс 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. Разделение строки с регулярными выражениями
  2. PATCH-запрос с библиотекой requests
  3. Передача неизвестных аргументов в Python.
  4. Потоковый ввод в Python
  5. Переменные в Python
  6. Декоратор @override
  7. Функция sleep() в Python
  8. Списковое включение в Python
  9. Многострочные комментарии в Python
  10. Solidity для DeFi Ethereum
  11. Настройка вывода NumPy
  12. Оптимизация гиперпараметров в Python
  13. Принципы SRP и OCP
  14. Игра «Угадывание чисел»
  15. Конвертация изображений в PDF
  16. Метод repr() в Python
  17. Атрибуты класса и экземпляра
  18. Разница между датами
  19. Списковое включение в Python
  20. Работа со строками в Python
  21. Объединение списков в строку
  22. Форматирование объектов с модулем pprint
  23. Оператор continue в Python
  24. Оператор Walrus в Python 3.8
  25. Декораторы в Python
  26. Создание и использование модулей в Python
  27. Переворот строки
  28. Просмотр атрибутов и методов класса
  29. Анонимные функции в Python
  30. Работа со словарями в Python
  31. Enum в Python
  32. Проверка типов с помощью isinstance
  33. Ускорение обработки данных с %autoawait
  34. История Python
  35. Оптимизация памяти с slots
  36. Замена подстроки
  37. Расчет времени выполнения программы
  38. Изменение логики работы с временем
  39. Управление виртуальными окружениями в Python
  40. Тип CodeType в Python.
  41. Преобразование символов в нижний регистр
  42. Комментарии в Python
  43. Метод __ilshift__ для битового сдвига влево
  44. Big O оптимизация
  45. Оператор «and» в Python
  46. Импорт модулей в Python 3.12

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