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 PythonRadite 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
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 OmisolePretplatite 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