Как да сортирате почти всеки тип списък в Python

Как да сортирате почти всеки тип списък в Python

Сортирането на списък в Python ви позволява да подредите неговите елементи във възходящ или низходящ ред.





Вместо да пише дълги блокове код, за да направи това, Python има вграден метод, който ви позволява да сортирате елементите във всеки списък или масив. Ще обясним как да направите това в тази публикация.





Как да сортирате списък в Python

Можете да сортирате елементите в списък или масив с помощта на Python вид() метод.





The вид() метод в Python приема два незадължителни аргумента и синтаксисът изглежда така:

list.sort(key = function, reverse = True/False)

По подразбиране, вид() метод подрежда елементите от списък във възходящ ред:



myList = ['C', 'D', 'B', 'A', 'F']
myList.sort()
print(myList)
Output: ['A', 'B', 'C', 'D', 'F']

Можете да използвате обратен аргумент за преглед на списъка в низходящ ред:

myList = ['C', 'D', 'B', 'A', 'F']
myList.sort(reverse = True)
print(myList)
Output: ['F', 'D', 'C', 'B', 'A']

Можете също така да подредите елементите в списък по дължината на всеки низ.





За да направите това, създайте функция и я прехвърлете в вид() метод, използващ незадължителния ключ аргумент:

myList = ['MUO', 'Python', 'JavaScript', 'Sort', 'Sortlists']
def sortLength(item):
return len(item)
myList.sort(reverse = True, key = sortLength)
print(myList)
Output: ['JavaScript', 'Sortlists', 'Python', 'Sort', 'MUO']

Как да сортирате списък с речници в Python

Можете да използвате вид() метод за сортиране на списък с речници.





Нека сортираме задачите в речника по -долу по времето им:

myArray = [
{'Task': 'Wash', 'Time': 12.00},
{'Task':'Football', 'Time': 24.00},
{'Task':'Sort', 'Time': 17.00},
{'Task':'Code', 'Time': 15.00}
]
def sortByTime(item):
return item['Time']
myArray.sort(key = sortByTime)
print(myArray)

Тъй като стойностите на времето са цели числа, горният блок код пренарежда масива въз основа на времето на задачата.

Свързани: Как работят масивите и списъците в Python

В допълнение към сортирането на горния масив по време, можете също да го подредите по азбучен ред, като използвате задачите, които са низове.

За да сортирате по низ в примерния масив, трябва само да промените Време в квадратната скоба до Задача :

myArray = [
{'Task': 'Wash', 'Time': 12.00},
{'Task':'Football', 'Time': 24.00},
{'Task':'Sort', 'Time': 17.00},
{'Task':'Code', 'Time': 15.00}
]
def sortByTime(item):
return item['Task']
myArray.sort(key = sortByTime)
print(myArray)

Можете също да сортирате задачите в обратен ред чрез настройка обратен до вярно:

myArray.sort(key = sortByTime, reverse = True)

Можете също използвайте ламбда функция с вид() за по -чист код:

myArray.sort(key = lambda getTime: getTime['Time'])
print(myArray)

Как да сортирате вложен списък на Python

Можете да сортирате вложен списък с кортежи по индекса на всеки вложен елемент в този списък.

Например, кодът по -долу използва третия елемент във всяка кортежа, за да сортира списъка във възходящ ред:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def sortByThirdIndex(a):
return a[2]
Alist.sort(key = sortByThirdIndex)
print(Alist)
Output: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

В изхода по -горе, третият елемент във всеки кортеж се увеличава от нула до двадесет последователно.

Имайте предвид, че това не работи с набор от Python, тъй като не можете да го индексирате. На всичкото отгоре всяко гнездо в списъка трябва да принадлежи към един и същ тип данни.

Свързани: Какво е набор в Python и как да го създадете

лаптопът няма да се събуди от спящ windows 10

За да подредите изхода в низходящ ред:

Alist.sort(key = getIndex, reverse = True)
print(Alist)
Output: [(3, 19, 20), (1, 8, 15), (10, 19, 4), (7, 9, 3), (2, 6, 0)]

Нека да видим как изглежда това с a ламбда функционира също така:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = sorted(Alist, key = lambda a: a[2])
print(newList)
Output: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Как да сортирате списък, използвайки метода Sorted ()

Като алтернатива можете да използвате сортирано () метод.

Въпреки че работи подобно на вид() метод, той създава нов сортиран списък, без да променя оригинала. Неговото оформление на синтаксиса също е малко по -различно.

Синтаксисът за сортирано () методът обикновено изглежда така:

sorted(list, key = function, reverse = True/False)

Така че, за да сортирате списък, използвайки сортирано () метод, трябва да създадете нова променлива за сортирания списък:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def getIndex(a):
return a[2]
newList = sorted(Alist, key = getIndex)
print(newList)
Output: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

The сортирано () методът приема и a ламбда функционира като негов ключ:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = sorted(Alist, key = lambda a: a[2])
print(newList)
Output: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Къде можете да приложите сортиране на списъци?

Твърдо разбиране на метода за сортиране на Python е необходимо за ефективно програмиране. Тя ви позволява да контролирате начина, по който преминава списък или масив и винаги можете да го приложите в проекти от реалния живот. Например, сортирането на Python списък може да бъде полезно при пренареждане на данни от API или база данни, така че има по-голям смисъл за крайния потребител.

Дял Дял Туит електронна поща Как да добавите списък в Python

Работите със списъци в Python? Ето какво трябва да знаете за използването на функцията за добавяне на Python при работа със списъци.

Прочетете Напред
Свързани теми
  • Програмиране
  • Python
  • Уроци по кодиране
За автора Идису Омисола(94 статии са публикувани)

Idowu е страстен за всичко умно технология и производителност. В свободното си време той играе с кодиране и превключва на шахматната дъска, когато му е скучно, но също така обича да се откъсва от рутината от време на време. Страстта му да показва на хората пътя около съвременните технологии го мотивира да пише повече.

Още от Idowu Omisola

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате