Sobes.tech
Назад к вопросам
Junior — Middle
72

Можете объяснить принцип работы функции sorted в Python и как она сортирует данные?

Компании, где спрашивали
Разумные решенияРазумные решения

Ответ от нейросети

sobes.tech AI

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

По умолчанию сортировка происходит по возрастанию, используя естественный порядок элементов (например, числовой или лексикографический для строк).

Можно изменить поведение сортировки с помощью параметров:

  • key — функция, которая применяется к каждому элементу для получения значения, по которому будет происходить сортировка.
  • reverse — булевый параметр, если True, сортирует в обратном порядке.

Пример:

numbers = [5, 2, 9, 1]
sorted_numbers = sorted(numbers)  # [1, 2, 5, 9]

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

sorted_desc = sorted(numbers, reverse=True)  # [9, 5, 2, 1]

Внутри Python использует алгоритм Timsort, который эффективен для реальных данных и стабилен (сохраняет порядок равных элементов).