Курс 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"
- Поиск самого длинного слова в списке с использованием max()
- Удаление ключа из словаря
- Объединение словарей в Python
- Компиляция регулярных выражений
- Создание итератора
- Декораторы в Python
- Сортировка с параметром key
- Определение объема памяти объекта
- Преобразование чисел в слова
- Измерение времени выполнения кода в Python
- Транспонирование 2D-массива с помощью zip
- Многострочные комментарии в Python
- Генераторы списков в Python
- Генераторы в Python
- Реверс строки и списка в Python.
- Работа с путями в Python
- Присвоение значений переменным в Python
- Протокол управления контекстом
- Работа с getopt
- Распаковка аргументов в Python
- Python: цикл for и оператор присваивания
- Создание комплексных чисел
- Создание функций высшего порядка
- Хеширование паролей с использованием salt
- Получение частей дроби
- Проверка индексов коллекции
- Анонимные функции в Python
- Генераторы в Python
- Округление в Python
- Работа с классами данных
- Нан-рефлексивность в Python
- Python: отличительная особенность — отступы
- Упрощенный вывод данных в Python
- Функции map, filter и reduce
- Python: Splat-оператор и splatty-splat
- Python enumerate() использование
- Измерение времени выполнения кода
- Установка пакетов с помощью pip
- PUT запрос для обновления данных
- Печать календаря
- Управление экспортом элементов
- Настройка вывода NumPy
- Поиск email
- Сравнение строк в Python
- Многострочные комментарии в Python
- Хранение данных с помощью dataclasses
- Итерация по итерируемым объектам















