Курс 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"
- Разделение строки с регулярными выражениями
- PATCH-запрос с библиотекой requests
- Передача неизвестных аргументов в Python.
- Потоковый ввод в Python
- Переменные в Python
- Декоратор @override
- Функция sleep() в Python
- Списковое включение в Python
- Многострочные комментарии в Python
- Solidity для DeFi Ethereum
- Настройка вывода NumPy
- Оптимизация гиперпараметров в Python
- Принципы SRP и OCP
- Игра «Угадывание чисел»
- Конвертация изображений в PDF
- Метод repr() в Python
- Атрибуты класса и экземпляра
- Разница между датами
- Списковое включение в Python
- Работа со строками в Python
- Объединение списков в строку
- Форматирование объектов с модулем pprint
- Оператор continue в Python
- Оператор Walrus в Python 3.8
- Декораторы в Python
- Создание и использование модулей в Python
- Переворот строки
- Просмотр атрибутов и методов класса
- Анонимные функции в Python
- Работа со словарями в Python
- Enum в Python
- Проверка типов с помощью isinstance
- Ускорение обработки данных с %autoawait
- История Python
- Оптимизация памяти с slots
- Замена подстроки
- Расчет времени выполнения программы
- Изменение логики работы с временем
- Управление виртуальными окружениями в Python
- Тип CodeType в Python.
- Преобразование символов в нижний регистр
- Комментарии в Python
- Метод __ilshift__ для битового сдвига влево
- Big O оптимизация
- Оператор «and» в Python
- Импорт модулей в Python 3.12















