Курс 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"
- Метод rmatmul для пользовательских матриц
- Объединение коллекций в Python
- Работа с контекстными переменными
- Строки в Python: апострофы и кавычки
- Python Метод sleep() времени
- Преобразование кортежа в словарь.
- Курсы Яндекс Практикум
- Аннотации типов в Python
- Инверсия списков и строк в Python
- Метод count() для списков
- Синхронизация потоков с time.sleep()
- Циклы for в Python
- Проверка однородности элементов списка
- Нарезка списков в Python
- Форматирование строк в Python
- Переменные в Python
- Вывод баннеров
- Импорт модулей в Python 3.12
- Подсчет частоты элементов с Counter
- Преобразование регистра строк
- Дефолтные параметры в Python
- Список импортированных модулей в Python
- Метод count в Python: почему count(», ») возвращает 4?
- Раздувающийся словарь в Python
- Работа с итераторами в Python
- Определение объема памяти объекта
- Переменная Шредингера
- Декораторы для регистрации функций
- Определение локальных переменных в Python
- Работа с кортежами в Python
- Срезы в Python
- Работа с файловой системой в Python
- Лямбда-функции в цикле
- Пространство имен в Python
- Сравнение def и lambda-функций
- Progress с библиотекой tqdm
- JSON-esque в Python
- Модуль functools в Python
- Метод add для класса Vector
- Списки в Python: синтаксис представления
- Создание новой даты в Python
- Представление бесконечности в Python
- Изменение логики работы с временем
- Управление пакетами с pip
- Тестирование времени с Freezegun















