Курс 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"
- Копирование в Python
- Мониторинг памяти с Pympler
- Работа с zip()
- Модуль future Python
- Создание таблиц в Python с PrettyTable
- Установка и использование Logzero
- Возврат нескольких значений из функции
- Создание и инициализация объектов
- Синхронизация потоков с time.sleep()
- Сортировка элементов в Python
- Потоковый ввод в Python
- Удаление элементов из списка в Python
- Расчет времени выполнения программы
- Операторы сравнения в Python
- Бесконечные списки в Python
- Конкатенация строк с join() в Python
- Особенности запятых в Python
- Повторение элементов списков
- Работа с файлами в Python
- Работа с deque в Python
- Порядок операций в Python
- Сортировка данных с лямбда-функциями
- Запуск асинхронной корутины
- Запуск внешних программ с subprocess
- Оператор морж в Python 3.8
- Метод join() для объединения строк
- Замена текста с помощью sub
- Обучение модели с указанием эпох
- Перемешивание списка с shuffle()
- Хеширование паролей с использованием salt
- Работа с NumPy
- Импорт объектов из модулей
- Названия столбцов в Python таблицах
- Управление ресурсами в Python
- Определение индекса элемента списка
- Проверка наличия элемента в списке
- Логический оператор «and» в Python
- Библиотека Chartify: руководство
- Функция __init__ в Python
- Глубокое копирование объектов
- JMESPath в Python
- Сравнение def и lambda функций в Python
- Изменение переменной в Python: nonlocal
- Упрощение работы с JSON-данными в Python
- Декоратор Ajax required
- Преобразование объекта в строку
- Генераторы в Python
- Отладка кода















