Войти
или
Зарегистрироваться
Маркетплейс
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Онлайн Компилятор
Компилятор Python (lite)
Редактор HTML Code
Статья Автор:
Корельская Елена Юрьевна
Теория
Алгоритмы сортировки, которые мы разобрали на прошлом уроке (сортировка выбором, вставками и пузырьком) представляют собой базовые алгоритмы упорядочивания данных. Каждый из них имеет квадратичную сложность, что делает их не самыми эффективными для больших наборов данных.
В современных языках программирования, в том числе и на
Python
, встроен метод и/или функция, которые используют более продвинутый алгоритм. Это позволяет достичь значительно лучшей производительности по сравнению с квадратичными алгоритмами. В Python существует два основных способа сортировки коллекций:
метод sort()
и
функция sorted()
.
Метод
sort
()
имеет следующий синтаксис
:
list.sort(reverse=True/False)
,
функция
sorted
имеет следующий синтаксис:
list1 = sorted(list, reverse=True/False)
,
где
list
– имя сортируемого списка,
list
1
– имя нового списка;
reverse
– параметр, отвечающий за порядок сортировки:
False
– по возрастанию,
True
– по убыванию, если необходимо отсортировать во возрастанию, то параметр
reverse
=
False
, можно не записывать.
Основное различие между методом
sort
() и функцией
sorted
() состоит в том, что метод
sort
() меняет исходной список, а функция
sorted
() исходный список сохраняет без изменения, но необходимо сохранить отсортированный список в новой переменной.
Рассмотрим примеры использования метода sort() и функции
sorted
():
Сортировка по возрастанию
numbers = [5, 2, 9, 1, 5, 6] numbers.sort() print(numbers) print(a)
×
numbers = [5, 2, 9, 1, 5, 6] a = sorted(numbers) print(numbers) print(a)
×
2. Сортировка по убыванию
numbers = [5, 2, 9, 1, 5, 6] numbers.sort(reverse=True) print(numbers) print(a)
×
numbers = [5, 2, 9, 1, 5, 6] a = sorted(numbers, reverse=True) print(numbers) print(a)
×
Печать