> For the complete documentation index, see [llms.txt](https://bemind.gitbook.io/neural/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bemind.gitbook.io/neural/python/vstroennye-funkcii-python/sorted.md).

# sorted()

Функция `sorted()` в Python используется для сортировки итерируемого объекта и возвращения нового отсортированного списка.

**Назначение**:

* Создать новый отсортированный список из элементов итерируемого объекта.

**Возврат**:

* Возвращает новый отсортированный список.

**Описание**:

* Принимает один обязательный аргумент `iterable` - итерируемый объект для сортировки.
* Имеет два необязательных именованных аргумента:
  * `key` - функция, применяемая к каждому элементу перед сравнением.
  * `reverse` - булево значение, определяющее порядок сортировки (по умолчанию False, т.е. по возрастанию).
* Не изменяет исходный объект.

**Примеры**:

1. Сортировка ***списка чисел***
2. Сортировка ***строки***
3. Сортировка ***с использованием key***

{% tabs %}
{% tab title="1." %}

```python
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # Выведет: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```

{% endtab %}

{% tab title="2." %}

```python
text = "python"
sorted_text = sorted(text)
print(sorted_text)  # Выведет: ['h', 'n', 'o', 'p', 't', 'y']
```

{% endtab %}

{% tab title="3." %}

```python
words = ["banana", "apple", "cherry"]
sorted_words = sorted(words, key=len)
print(sorted_words)  # Выведет: ['apple', 'banana', 'cherry']
```

{% endtab %}
{% endtabs %}

**Использование**:

* Для сортировки любых итерируемых объектов без изменения оригинала.
* При необходимости сортировки по специфическим критериям с использованием `key`.
* Для сортировки в обратном порядке с использованием `reverse=True`.
* В операциях обработки данных, где требуется упорядоченный вывод.

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

Важно отметить разницу между `sorted()` и методом `list.sort()`: `sorted()` всегда возвращает новый список, не изменяя исходный объект, в то время как `list.sort()` изменяет список на месте и возвращает `None`. Это делает `sorted()` более универсальным, так как он может работать с любыми итерируемыми объектами, а не только со списками.
