Встроенные методы сортировки
В языке Python есть встроенная функция быстрой сортировки, которая называется
sorted()
и
sort()
. В своей работе она использует алгоритм
Timsort
.
Рассмотрим применение встроенных функций сортировки.
1) Получение нового массива
B
, который совпадает с отсортированным в порядке возрастания массивом
A
(по умолчанию выполняется сортировка по возрастанию):
B = sorted(A)
2) Получение нового массива
B
, который совпадает с отсортированным в порядке убывания массивом
A
:
B = sorted(A, reverse = True)
reverse - в переводе с английского языка "обратный".
3) Для выполнения нестандартной сортировки, необходим ключ сортировки - аргумент
key
.
Для сортировки по возрастанию по последней цифре числа ключом будет являться последняя цифра числа.
Для этого необходимо написать функцию, которая и будет возвращать нам требуемый ключ - в нашем случае последнюю цифру числа.
# функция, возвращающая ключ сортировки
# - последнюю цифру числа
def lastDigit(n):
return n%10
B = sorted(A, key = lastDigit)
4) Использование
лямбда-функции -
функции без имени.
Если не хочется писать отдельную функцию, из-за ее простоты, то можно использовать так называемые лямбда-функции. Такие функции записываются прямо при вызове в параметре
key
.
B = sorted(A, key = lambda x: x % 10)
5) Если необходимо отсортировать массив "на месте" (не выделяя дополнительный массив), лучше использовать метод
sort()
.
Например, сортировка массива
А
по последней цифре в порядке убывания выглядит так:
A.sort(key = lambda x: x % 10, reverse = True)