Курс 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
- Подсчет количества элементов в списке
- Управление сессиями в Python
- Добавление Progressbar в Python
- Работа с геоданными с помощью geopy
- Генератор списка в Python
- Проблема с изменяемыми аргументами
- Python Enum Weekday Usage
- Метод __getitem__ в Python
- Обмен значений переменных в Python
- Правила именования переменных
- Лямбда-функции в цикле
- Списки в Python: синтаксис представления
- Настройка нарезки списков
- Сортировка и разворот списка
- Принципы SRP и OCP
- Открытие и запись файлов
- Названия столбцов в Python таблицах
- Рациональные числа в Python
- Создание вкладок с TKinter
- Извлечение новостей с newspaper3k
- Работа с JSON в Python
- Функции в Python
- Magic Commands — улучшение работы с Python
- Приоритет операций в Python
- %pinfo: получение информации об объекте
- Метод __imod__ для Python
- Моржовый оператор в Python 3.8
- Работа с изображениями PIL
- Разделение строки с помощью re.split()
- Аннотации типов в Python
- Улучшение читаемости кода в Python
- Вставка переменных в шаблоны Flask
- Именование переменных в Python
- Работа с модулем Calendar
- Работа с argparse
- Декораторы в Python
- Оболочка Python
- Проверка вхождения подстроки
- Операторы объединения в Python 3.9
- Проверка строки на палиндром
- Работа с Requests для HTTP-запросов
- Печать комбинаций в Python с Itertools
- Копирование объектов в Python
- Перевернуть список в Python
- Удаление элементов из списка в Python
- Создание и удаление объектов















