Курс 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. Мониторинг памяти с Pympler
  3. Работа с zip()
  4. Модуль future Python
  5. Создание таблиц в Python с PrettyTable
  6. Установка и использование Logzero
  7. Возврат нескольких значений из функции
  8. Создание и инициализация объектов
  9. Синхронизация потоков с time.sleep()
  10. Сортировка элементов в Python
  11. Потоковый ввод в Python
  12. Удаление элементов из списка в Python
  13. Расчет времени выполнения программы
  14. Операторы сравнения в Python
  15. Бесконечные списки в Python
  16. Конкатенация строк с join() в Python
  17. Особенности запятых в Python
  18. Повторение элементов списков
  19. Работа с файлами в Python
  20. Работа с deque в Python
  21. Порядок операций в Python
  22. Сортировка данных с лямбда-функциями
  23. Запуск асинхронной корутины
  24. Запуск внешних программ с subprocess
  25. Оператор морж в Python 3.8
  26. Метод join() для объединения строк
  27. Замена текста с помощью sub
  28. Обучение модели с указанием эпох
  29. Перемешивание списка с shuffle()
  30. Хеширование паролей с использованием salt
  31. Работа с NumPy
  32. Импорт объектов из модулей
  33. Названия столбцов в Python таблицах
  34. Управление ресурсами в Python
  35. Определение индекса элемента списка
  36. Проверка наличия элемента в списке
  37. Логический оператор «and» в Python
  38. Библиотека Chartify: руководство
  39. Функция __init__ в Python
  40. Глубокое копирование объектов
  41. JMESPath в Python
  42. Сравнение def и lambda функций в Python
  43. Изменение переменной в Python: nonlocal
  44. Упрощение работы с JSON-данными в Python
  45. Декоратор Ajax required
  46. Преобразование объекта в строку
  47. Генераторы в Python
  48. Отладка кода

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