Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: sorted, Python, sorting, iterable, key parameter

Как работает функция sorted() и какие требования к входным данным?

Проверяет понимание работы встроенной функции sorted() в Python, включая требования к итерируемым объектам и параметры сортировки.

Короткий ответ

Функция sorted() возвращает новый отсортированный список из элементов любого итерируемого объекта. Она принимает три параметра: iterable (обязательный), key (функция для вычисления ключа сортировки) и reverse (булево значение для обратного порядка). По умолчанию сортировка выполняется по возрастанию. Функция не изменяет исходный объект, а создает новый список.

Длинный ответ

Как работает sorted()

Функция sorted() в Python принимает итерируемый объект (например, список, строку, кортеж, словарь) и возвращает новый список, содержащий все элементы в отсортированном порядке. Она не изменяет исходный объект, что отличает её от метода .sort(), который сортирует список на месте.

Параметры

  • iterable — обязательный аргумент, любой итерируемый объект.
  • key — необязательная функция, которая применяется к каждому элементу для получения значения, по которому будет производиться сортировка. Например, key=len сортирует строки по длине.
  • reverse — булево значение (по умолчанию False). Если True, сортировка выполняется в обратном порядке.

Примеры кода

# Базовая сортировка списка чисел
numbers = [3, 1, 4, 1, 5, 9]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # [1, 1, 3, 4, 5, 9]

# Сортировка строк по длине
words = ['apple', 'banana', 'cherry', 'date']
sorted_by_len = sorted(words, key=len)
print(sorted_by_len)  # ['date', 'apple', 'banana', 'cherry']

# Сортировка словаря по значениям
d = {'a': 3, 'b': 1, 'c': 2}
sorted_dict = sorted(d.items(), key=lambda x: x[1])
print(sorted_dict)  # [('b', 1), ('c', 2), ('a', 3)]

# Обратная сортировка
sorted_reverse = sorted(numbers, reverse=True)
print(sorted_reverse)  # [9, 5, 4, 3, 1, 1]

Требования к входным данным

Итерируемый объект должен поддерживать итерацию и содержать элементы, которые можно сравнивать между собой (например, числа с числами, строки со строками). Если элементы разных типов (например, число и строка), возникнет ошибка TypeError. Для пользовательских объектов необходимо определить методы сравнения (__lt__, __gt__ и т.д.) или использовать параметр key для задания критерия сортировки.

Вывод

Функция sorted() — универсальный инструмент для сортировки любых итерируемых объектов в Python. Она удобна, когда нужно сохранить исходные данные неизменными, и позволяет гибко настраивать порядок сортировки с помощью параметров key и reverse.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • Python

    Python

Ключевые слова

#sorted

#Python

#sorting

#iterable

#key parameter

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.