Справочник · модуль 17 «Финал»

Цена сортировки

Сортировка стоит дорого. У пузырька O(n²): список вырос в десять раз, а работы в сто раз больше. Готовый sorted быстрее. Сортируй один раз, а ищи много раз.

Сравнение из жизни

Как разобрать шкаф: лучше сделать это один раз, чем перед каждой вещью.

Пример

numbers = [5, 2, 4, 1]
print(sorted(numbers))
print(sorted(numbers, reverse=True))
words = ["яблоко", "кот", "арбуз", "ёж"]
print(sorted(words, key=len))
Результат
[1, 2, 4, 5]
[5, 4, 2, 1]
['ёж', 'кот', 'арбуз', 'яблоко']

Учитель в уроке На практике пузырёк не нужен: в Python есть готовая команда sorted. Она сортирует по возрастанию, а с параметром reverse — по убыванию. Параметр key говорит, по чему сортировать. Здесь по длине слова.

Запомнить

Цена сортировки — как уборка в шкафу. Лучше разложить всё один раз, чем рыться перед каждой вещью.

Тема из урока 17.2 «Сортировка» курса PythonAZ.

В этом же уроке