Сортировка списка в Python позволяет вам расположить его элементы в порядке возрастания или убывания.

Вместо того, чтобы писать для этого длинные блоки кода, Python имеет встроенный метод, который позволяет вам сортировать элементы в любом списке или массиве. Мы объясним, как это сделать, в этом посте.

Как отсортировать список в Python

Вы можете отсортировать элементы в списке или массиве с помощью Python Сортировать() метод.

В Сортировать() Метод в Python принимает два необязательных аргумента, и его синтаксис выглядит следующим образом:

list.sort (ключ = функция, обратный = True / False)

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

myList = ["C", "D", "B", "A", "F"]
myList.sort ()
печать (myList)
Вывод: ['A', 'B', 'C', 'D', 'F']

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

myList = ["C", "D", "B", "A", "F"]
myList.sort (reverse = True)
печать (myList)
Вывод: ['F', 'D', 'C', 'B', 'A']

Вы также можете расположить элементы в списке по длине каждой строки.

Для этого создайте функцию и передайте ее в Сортировать() метод с использованием необязательного ключ аргумент:

myList = ["MUO", "Python", "JavaScript", "Сортировка", "Списки сортировки"]
def sortLength (элемент):
вернуть len (элемент)
myList.sort (reverse = True, key = sortLength)
печать (myList)
Вывод: ['JavaScript', 'Списки сортировки', 'Python', 'Сортировка', 'MUO']

Как отсортировать список словарей в Python

Вы можете использовать Сортировать() метод для сортировки списка словарей.

Давайте отсортируем задачи в приведенном ниже словаре по времени:

myArray = [
{"Задача": "Стирка", "Время": 12.00},
{"Задача": "Футбол", "Время": 24.00},
{"Задача": "Сортировка", "Время": 17.00},
{"Задача": "Код", "Время": 15.00}
]
def sortByTime (элемент):
вернуть товар ["Время"]
myArray.sort (ключ = sortByTime)
печать (myArray)

Поскольку значения времени являются целыми числами, приведенный выше блок кода перестраивает массив в зависимости от времени выполнения задачи.

Связанный: Как массивы и списки работают в Python

Помимо сортировки указанного выше массива по времени, вы также можете расположить его в алфавитном порядке, используя задачи, которые являются строками.

Чтобы отсортировать по строке в примере массива, вам нужно только изменить Время в квадратной скобке к Задача:

myArray = [
{"Задача": "Стирка", "Время": 12.00},
{"Задача": "Футбол", "Время": 24.00},
{"Задача": "Сортировка", "Время": 17.00},
{"Задача": "Код", "Время": 15.00}
]
def sortByTime (элемент):
вернуть товар ["Задача"]
myArray.sort (ключ = sortByTime)
печать (myArray)

Вы также можете отсортировать задачи в обратном порядке, установив обеспечить регресс к истине:

myArray.sort (ключ = sortByTime, reverse = True)

Вы также можете использовать лямбда-функцию с участием Сортировать() для более чистого кода:

myArray.sort (key = lambda getTime: getTime ["Время"])
печать (myArray)

Как отсортировать вложенный список Python

Вы можете отсортировать вложенный список кортежей по индексу каждого вложенного элемента в этом списке.

Например, в приведенном ниже коде третий элемент в каждом кортеже используется для сортировки списка в порядке возрастания:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def sortByThirdIndex (а):
вернуть [2]
Alist.sort (ключ = sortByThirdIndex)
печать (список)
Вывод: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

В выходных данных выше третий элемент в каждом кортеже последовательно увеличивается от нуля до двадцати.

Обратите внимание, что это не работает с набором Python, поскольку вы не можете его проиндексировать. Кроме того, каждое гнездо в списке должно принадлежать к одному и тому же типу данных.

Связанный: Что такое набор в Python и как его создать

Однако, чтобы расположить вывод в порядке убывания:

Alist.sort (ключ = getIndex, reverse = True)
печать (список)
Вывод: [(3, 19, 20), (1, 8, 15), (10, 19, 4), (7, 9, 3), (2, 6, 0)]

Посмотрим, как это выглядит с лямбда также функции:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = sorted (список, ключ = лямбда a: a [2])
печать (новый список)
Вывод: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Как отсортировать список с помощью метода Sorted ()

В качестве альтернативы вы можете использовать отсортировано () метод.

Хотя работает аналогично Сортировать() метод, он создает новый отсортированный список без изменения оригинала. Его синтаксическая структура также немного отличается.

Синтаксис для отсортировано () метод обычно выглядит так:

отсортировано (список, ключ = функция, обратный = Истина / Ложь)

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

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def getIndex (а):
вернуть [2]
newList = sorted (список, ключ = getIndex)
печать (новый список)
Вывод: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

В отсортировано () метод также принимает лямбда функционировать как его ключ:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = sorted (список, ключ = лямбда a: a [2])
печать (новый список)
Вывод: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Где можно применить сортировку списка?

Для эффективного программирования необходимо твердое владение методом сортировки Python. Он позволяет вам контролировать прохождение списка или массива, и вы всегда можете применить его в реальных проектах. Например, сортировка списка Python может пригодиться при перегруппировке данных из API или базы данных, чтобы она имела больше смысла для конечного пользователя.

Электронное письмо
Как добавить список в Python

Работаете со списками в Python? Вот что вам нужно знать об использовании функции добавления Python при работе со списками.

Читать далее

Похожие темы
  • Программирование
  • Python
  • Учебники по кодированию
Об авторе
Идову Омисола (Опубликовано 66 статей)

Идову увлечен всеми интеллектуальными технологиями и производительностью. В свободное время он играет с кодированием и переключается на шахматную доску, когда ему скучно, но он также любит время от времени отвлекаться от рутины. Его страсть показывать людям современные технологии побуждает его писать больше.

Ещё от Idowu Omisola

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Еще один шаг…!

Пожалуйста, подтвердите свой адрес электронной почты в электронном письме, которое мы вам только что отправили.

.