Объяснение к уроку
После этого урока ты сможешь:
.sort() и понимать его возвращаемое значение None.sorted(), оставляя оригинал неизменным.reverse=True.Сортировка и разворот — это разные операции. Сортировка упорядочивает сравнимые элементы по значению; разворот просто переворачивает их существующий порядок.
Метод items.sort() изменяет исходный список и возвращает None. Если тебе нужна отдельная упорядоченная версия, используй sorted(items): функция создает новый список, даже когда входными данными является другая последовательность, например кортеж. Оба варианта по умолчанию сортируют по возрастанию; reverse=True задает порядок по убыванию.
Метод items.reverse() переворачивает текущий порядок на месте; он не сортирует элементы. Не полагайся на то, что .sort() или .reverse() вернут список.
В этом уроке используются значения, которые Python может сравнивать напрямую (числа с числами или строки со строками). Сортировка словарей по вложенным полям с помощью функции key= рассматривается в разделе Python-подход, после знакомства с функциями высшего порядка.
versions = [5, 2, 4]
versions.sort()
print(versions)Вывод:
[2, 4, 5]Существующий список теперь содержит отсортированные значения.
latencies = [80, 40, 65]
ordered = sorted(latencies)
print(ordered)
print(latencies)Вывод:
[40, 65, 80]
[80, 40, 65]sorted() возвращает новый список, оставляя источник без изменений.
scores = [7, 12, 9]
scores.sort(reverse=True)
print(scores)Вывод:
[12, 9, 7]Параметр reverse=True меняет направление сортировки.
steps = ["compile", "test", "ship"]
steps.reverse()
print(steps)Вывод:
['ship', 'test', 'compile']Последовательность перевернута, а не отсортирована по алфавиту.
| Цель | Python | Изменяет оригинал? |
|---|---|---|
| Сортировка по возрастанию | items.sort() | Да |
| Отсортированная копия | sorted(items) | Нет |
| Сортировка по убыванию | sorted(items, reverse=True) | Нет |
| Развернуть текущий порядок | items.reverse() | Да |
Результат items.sort() | None | — |
ordered = items.sort() сохраняет None, а не отсортированный список..reverse() не эквивалентно сортировке в порядке убывания..sort() изменяет исходный список; предпочитай sorted(), когда важно сохранить входные данные.TypeError.