Python - Сортувати списки
Сортувати список буквено-цифровим способом
Об’єкти списку мають метод sort()
, який за замовчуванням сортує список у алфавітно-цифровому порядку за зростанням:
Приклад
Відсортуйте список за алфавітом:
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort()
print(thislist)
Спробуйте самі »
Приклад
Відсортуйте список за числом:
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
Спробуйте самі »
Сортувати за спаданням (десцендент)
Для сортування за спаданням використовуйте аргумент ключового слова reverse = True
:
Приклад
Відсортуйте список за спаданням:
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
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 = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
Спробуйте самі »
На щастя, ми можемо використовувати вбудовані функції як ключові під час сортування списку.
Отже, якщо вам потрібна функція сортування без урахування регістру, використовуйте str.lower як ключову функцію:
Приклад
Виконайте сортування списку без урахування регістру:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key = str.lower)
print(thislist)
Спробуйте самі »
Зворотній порядок
Що робити, якщо ви хочете змінити порядок списку, незалежно від алфавіту?
Метод reverse()
змінює поточний порядок сортування елементів на протилежний.
Приклад
Зворотній порядок елементів списку:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)
Спробуйте самі »