Kako razvrstati gotovo sve vrste popisa u Pythonu

Kako razvrstati gotovo sve vrste popisa u Pythonu

Sortiranje popisa u Pythonu omogućuje vam da njegove stavke rasporedite uzlazno ili silazno.





Umjesto pisanja dugih blokova koda za to, Python ima ugrađenu metodu koja vam omogućuje sortiranje stavki na bilo kojem popisu ili nizu. U ovom ćemo članku objasniti kako to učiniti.





Kako poredati popis u Pythonu

Stavke možete sortirati na popisu ili nizu pomoću Pythona vrsta() metoda.





The vrsta() metoda u Pythonu prihvaća dva izborna argumenta, a sintaksa izgleda ovako:

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

Prema zadanim postavkama, vrsta() metoda raspoređuje stavke popisa uzlaznim redoslijedom:



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

Možete koristiti obrnuti argument za pregled popisa u opadajućem redoslijedu:

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

Također možete rasporediti stavke na popisu po duljini svakog niza.





Da biste to učinili, stvorite funkciju i proslijedite je u vrsta() metodom po izboru ključ argument:

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']

Kako poredati popis rječnika u Pythonu

Možete koristiti vrsta() metoda za sortiranje popisa rječnika.





Poredajmo zadatke u donjem rječniku prema njihovom vremenu:

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)

Budući da su vrijednosti vremena cijeli brojevi, gornji blok koda preuređuje niz na temelju vremena zadatka.

Povezano: Kako nizovi i popisi rade u Pythonu

Osim što gornji niz sortirate prema vremenu, možete ga poredati i po abecednom redu pomoću zadataka, koji su nizovi.

Za sortiranje po nizu u primjeru polja, trebate samo promijeniti Vrijeme u uglatoj zagradi do Zadatak :

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)

Također možete sortirati zadatke obrnutim redoslijedom postavljanjem obrnuti do istine:

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

Također možete koristiti lambda funkciju s vrsta() za čistiji kod:

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

Kako razvrstati popis ugniježđenih Pythona

Ugniježđeni popis tuplea možete sortirati prema indeksu svakog ugniježđenog elementa na tom popisu.

Na primjer, donji kôd koristi treću stavku u svakoj podlošci za sortiranje po uzlaznom redoslijedu:

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)]

U gornjem izlazu, treća stavka u svakoj podlošci povećava se od nule do dvadeset uzastopno.

Imajte na umu da ovo ne radi s Python skupom jer ga ne možete indeksirati. Povrh toga, svako gnijezdo na popisu mora pripadati istoj vrsti podataka.

Povezano: Što je skup u Pythonu i kako ga stvoriti

koja je moja IP adresa na telefonu

Međutim, kako biste rasporedili izlaz u opadajućem redoslijedu:

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

Pogledajmo kako ovo izgleda s lambda funkcionira i:

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)]

Kako sortirati popis pomoću metode Sorted ()

Alternativno, možete koristiti sortirano () metoda.

Iako djeluje slično kao vrsta() metoda, stvara novi sortirani popis bez mijenjanja izvornika. Njegov raspored sintakse također je malo drugačiji.

Sintaksa za sortirano () metoda općenito izgleda ovako:

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

Dakle, za sortiranje popisa pomoću sortirano () metodu, morate stvoriti novu varijablu za sortirani popis:

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 sortirano () metoda također prihvaća a lambda funkcionira kao njegov ključ:

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)]

Gdje se može primijeniti sortiranje popisa?

Čvrsto razumijevanje Python metode sortiranja potrebno je za učinkovito programiranje. Omogućuje vam kontrolu načina na koji popis ili niz prolazi, a uvijek ga možete primijeniti u projektima iz stvarnog života. Na primjer, razvrstavanje popisa Pythona može biti korisno pri preuređivanju podataka iz API-ja ili baze podataka, tako da krajnjem korisniku ima više smisla.

Udio Udio Cvrkut E -pošta Kako dodati popis u Python

Radite s popisima u Pythonu? Evo što trebate znati o korištenju funkcije dodavanja Pythona pri radu s popisima.

Pročitajte Dalje
Povezane teme
  • Programiranje
  • Piton
  • Vodiči za kodiranje
O autoru Idisou Omisola(94 objavljena članka)

Idowu je strastven u bilo čemu pametnom tehnologiji i produktivnosti. U slobodno vrijeme igra se kodiranjem i prebacuje na šahovsku ploču kad mu je dosadno, ali također voli povremeno odmaknuti se od rutine. Njegova strast prema pokazivanju ljudi suvremene tehnologije motivira ga da piše više.

Više od Idowua Omisole

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu