Курс 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. Работа с deque в Python
  2. Удаление специальных символов с помощью re.sub
  3. Удаление дубликатов из списка
  4. Генераторы в Python
  5. Генераторы в Python
  6. Логирование с Logzero
  7. Сериализация объектов в Python
  8. Определение объема памяти объекта
  9. Метод сравнения объектов в Python
  10. Поиск наиболее частого элемента
  11. Работа с рекламными данными в Pandas
  12. Подписка на SelectelNews в Twitter
  13. Фильтрация последовательности
  14. Оптимизация сравнения в Python
  15. Выключение компьютера с помощью Python
  16. Оператор (*) в Python
  17. Копирование в Python
  18. Блок else в обработке исключений
  19. Инициализация объекта
  20. Принципы Zen Python
  21. Автоматизация с Python
  22. Объединение словарей в Python
  23. Модуль antigravity: генерация координат
  24. Работа с Enum в Python3.
  25. Возведение в квадрат с помощью itertools
  26. Поиск наиболее частого элемента в списке
  27. Многопроцессорное программирование в Python
  28. Декоратор защиты анонимных пользователей
  29. Работа с файлами и директориями в Python.
  30. Разделение строки в Python
  31. Метод radd для пользовательских чисел
  32. UserString в Python
  33. Проблема с изменяемыми аргументами
  34. Подсказки типов в Python
  35. Список переменных с %who
  36. Проверка файла .py на синтаксис.
  37. Оператор «not» в Python
  38. Оптимизация гиперпараметров в Python
  39. Метод get() в Python
  40. Поиск анаграмм с Counter
  41. Типы возвращаемых значений в Python
  42. Использование подчеркивания в REPL
  43. Метод init в Python
  44. Метод __ilshift__ для битового сдвига влево
  45. Retrying в Python: повторные вызовы

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