Курс 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
  2. Замер времени выполнения кода
  3. Конкатенация строк в Python
  4. Операторы увеличения и уменьшения переменной
  5. Выбор редактора кода.
  6. Передача неизвестных аргументов в Python.
  7. Создание словаря и множества
  8. Поиск наиболее частого элемента в списке
  9. Разделение строки на пары ключ-значение.
  10. Модуль os: работа с файлами и папками
  11. Цикл for в Python
  12. Оптимизация памяти в Python
  13. Работа с WindowsPath()
  14. Преобразование символов в нижний регистр
  15. Проверка версии Python
  16. Изменение списка срезом
  17. Комментарии в Python
  18. Шаблоны и наследование в Flask
  19. Функция zip() в Python
  20. Установка и использование Logzero
  21. Пересечение списков с использованием множеств
  22. Нахождение максимального значения и его индекса в списке
  23. Определение функций с необязательными аргументами
  24. Работа со слайсами
  25. Работа с YAML в Python
  26. Автоматизация действий с Pyautogui
  27. Делегирование в Python
  28. Работа с атрибутом dict
  29. Упрощенный вывод данных в Python
  30. Методы list в Python
  31. Удаление элементов из списка в Python
  32. Beautiful Soup — извлечение данных из HTML
  33. Инициализация объекта
  34. Проверка вхождения подстроки
  35. Проверка условий в Python
  36. Переопределение метода divmod
  37. Дизассемблирование Python кода
  38. Добавление вложенных списков
  39. Открытие и редактирование скриптов Python
  40. Метод pop() списка
  41. Распаковка элементов последовательности
  42. JSON в Python: модуль, dump, dumps, load
  43. Numpy: использование Ellipsis
  44. Проверка дублей в списке.
  45. Вычисление времени выполнения
  46. PUT запрос для обновления данных
  47. Переопределение метода xor в Python

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