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)
Попробуйте сами »