Курс 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"
- List Comprehension Tutorial
- Реализация метода __abs__ в Python
- Преобразование чисел в восьмеричную строку
- Повторение элементов в Python
- Методы HTTP запросов в Flask
- Блок try-except-else
- Поиск элементов BeautifulSoup
- Списковые включения в Python
- Получение локальных переменных в Python
- Проверка вхождения подстроки
- Структурирование именованных констант
- Склеивание строк через метод join()
- Метод __irshift__ для Python
- Создание новых функций с помощью functools.partial
- Подписка на SelectelNews в Twitter
- Функция reduce() из модуля functools
- Удаление дубликатов из списка
- Ошибка NotImplemented в Python
- Перемешивание списка с shuffle()
- Работа с YAML в Python: PyYAML.
- Переменные в Python
- Частичное применение функций в Python
- Улучшенные подсказки для импорта в Python 3.12
- Поиск кода
- Делегирование в Python
- Метод join() для объединения элементов
- Работа с датой и временем в Python
- Работа с исключениями в Python
- Преобразование вложенного списка
- Переопределение оператора % для объектов
- PATCH-запрос с библиотекой requests
- Генерация строк с .join()
- Декораторы в Python
- Удаление эмодзи с помощью pandas
- Копирование объектов в Python
- Применение функции map() с лямбда-функциями
- Установка виртуального окружения Python
- Оператор in для Python
- Логирование в Python
- Структура данных deque в Python
- Компиляция регулярных выражений
- Функции min(), max(), sum()
- Создание namedtuple списком полей
- Обработка данных в Python
- Обработка исключений в Python 3
- Функции map, filter, reduce
- Нахождение самого длинного слова в списке с помощью max
- Оформление кода по PEP 8
- Цикл for в Python
- Лямбда-функции в Python















