САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ
×

Python Учебник

Python Главная Python Введение Python Начало работ Python Синтаксис Python Комментарии Python Переменные Python Тип данных Python Числа Python Подбор Python Строки Python Булевы Python Операторы Python Списки Python Кортежи Python Наборы Python Словари Python If...Else Python Циклы While Python Циклы For Python Функции Python Лямбда Python Массивы Python Классы/Объекты Python Наследование

Python Сортировка списков



Сортировать список по алфавиту

Объекты списка имеют метод sort() который по умолчанию сортирует список в алфавитно-цифровом порядке по возрастанию:

Пример

Отсортируйте список по алфавиту:

thislist = ["апельсин", "манго", "киви", "ананас", "банан"]
thislist.sort()
print(thislist)
Попробуйте сами »

Пример

Отсортируйте список по цифрам:

thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
Попробуйте сами »

Сортировать по убыванию

Для сортировки по убыванию используйте аргумент ключевого слова reverse = True:

Пример

Отсортируйте список по убыванию:

thislist = ["апельсин", "манго", "киви", "ананас", "банан"]
thislist.sort(reverse = True)
print(thislist)
Попробуйте сами »

Пример

Отсортируйте список по убыванию:

thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)
Попробуйте сами »


Настроить функцию сортировки

Вы также можете настроить свою собственную функцию, используя аргумент ключевого слова key = function.

Функция вернет число, которое будет использоваться для сортировки списка (сначала наименьшее число):

Пример

Отсортируйте список в зависимости от того, насколько число близко к 50:

def myfunc(n):
return abs(n - 50)

thislist = [100, 50, 65, 82, 23]
thislist.sort(key = myfunc)
print(thislist)
Попробуйте сами »

Сортировка без учета регистра

По умолчанию метод sort() чувствителен к регистру, в результате чего все заглавные буквы сортируются перед строчными:

Пример

Сортировка с учетом регистра может дать неожиданный результат:

thislist = ["банан", "Апельсин", "Киви", "вишня"]
thislist.sort()
print(thislist)
Попробуйте сами »

К счастью, мы можем использовать встроенные функции в качестве ключевых при сортировке списка.

Поэтому, если вам нужна функция сортировки без учета регистра, используйте str.lower в качестве ключевой функции:

Пример

Выполните сортировку списка без учета регистра:

thislist = ["банан", "Апельсин", "Киви", "вишня"]
thislist.sort(key = str.lower)
print(thislist)
Попробуйте сами »

Обратный порядок

Что делать, если вы хотите изменить порядок списка, независимо от алфавита?

Метод reverse() меняет текущий порядок сортировки элементов на противоположный.

Пример

Обратный порядок элементов списка:

thislist = ["банан", "Апельсин", "Киви", "вишня"]
thislist.reverse()
print(thislist)
Попробуйте сами »