Курс 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. Поиск самого длинного слова в списке с использованием max()
  2. Удаление ключа из словаря
  3. Объединение словарей в Python
  4. Компиляция регулярных выражений
  5. Создание итератора
  6. Декораторы в Python
  7. Сортировка с параметром key
  8. Определение объема памяти объекта
  9. Преобразование чисел в слова
  10. Измерение времени выполнения кода в Python
  11. Транспонирование 2D-массива с помощью zip
  12. Многострочные комментарии в Python
  13. Генераторы списков в Python
  14. Генераторы в Python
  15. Реверс строки и списка в Python.
  16. Работа с путями в Python
  17. Присвоение значений переменным в Python
  18. Протокол управления контекстом
  19. Работа с getopt
  20. Распаковка аргументов в Python
  21. Python: цикл for и оператор присваивания
  22. Создание комплексных чисел
  23. Создание функций высшего порядка
  24. Хеширование паролей с использованием salt
  25. Получение частей дроби
  26. Проверка индексов коллекции
  27. Анонимные функции в Python
  28. Генераторы в Python
  29. Округление в Python
  30. Работа с классами данных
  31. Нан-рефлексивность в Python
  32. Python: отличительная особенность — отступы
  33. Упрощенный вывод данных в Python
  34. Функции map, filter и reduce
  35. Python: Splat-оператор и splatty-splat
  36. Python enumerate() использование
  37. Измерение времени выполнения кода
  38. Установка пакетов с помощью pip
  39. PUT запрос для обновления данных
  40. Печать календаря
  41. Управление экспортом элементов
  42. Настройка вывода NumPy
  43. Поиск email
  44. Сравнение строк в Python
  45. Многострочные комментарии в Python
  46. Хранение данных с помощью dataclasses
  47. Итерация по итерируемым объектам

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