Kārtojot sarakstu Python, jūs varat kārtot tā vienumus augošā vai dilstošā secībā.
Tā vietā, lai to izdarītu, rakstiet garus koda blokus, Python ir iebūvēta metode, kas ļauj kārtot vienumus jebkurā sarakstā vai masīvā. Kā to izdarīt, mēs paskaidrosim šajā amatā.
Kā kārtot sarakstu Python
Izmantojot Python, jūs varat kārtot vienumus sarakstā vai masīvā kārtot () metodi.
The kārtot () metode Python pieņem divus izvēles argumentus, un sintakse izskatās šādi:
list.sort (atslēga = funkcija, reversa = patiesa / nepatiesa)
Pēc noklusējuma kārtot () metode saraksta elementus sakārto augošā secībā:
myList = ["C", "D", "B", "A", "F"]
myList.sort ()
izdrukāt (myList)
Izeja: ['A', 'B', 'C', 'D', 'F']
Jūs varat izmantot reverss arguments, lai sarakstu skatītu dilstošā secībā:
myList = ["C", "D", "B", "A", "F"]
myList.sort (reverse = True)
izdrukāt (myList)
Izeja: ['F', 'D', 'C', 'B', 'A']
Sarakstā esošos vienumus varat arī sakārtot pēc katras virknes garuma.
Lai to izdarītu, izveidojiet funkciju un nododiet to kārtot () metodi, izmantojot izvēles taustiņu arguments:
myList = ["MUO", "Python", "JavaScript", "Kārtot", "Kārtot saraksti"]
def sortLength (vienums):
atgriezties len (prece)
myList.sort (reverse = True, key = sortLength)
izdrukāt (myList)
Izeja: ['JavaScript', 'Sortlists', 'Python', 'Kārtot', 'MUO']
Kā kārtot vārdnīcu sarakstu Python
Jūs varat izmantot kārtot () metodi, lai kārtotu arī vārdnīcu sarakstu.
Kārtosim zemāk esošās vārdnīcas uzdevumus pēc to laika:
myArray = [
{"Uzdevums": "Mazgāt", "Laiks": 12.00},
{"Uzdevums": "Futbols", "Laiks": 24.00},
{"Uzdevums": "Kārtot", "Laiks": 17.00},
{"Uzdevums": "Kods", "Laiks": 15.00}
]
def sortByTime (vienums):
atgriezt preci ["Laiks"]
myArray.sort (atslēga = sortByTime)
drukāt (myArray)
Tā kā laika vērtības ir veseli skaitļi, iepriekš minētais kodu bloks pārkārto masīvu, pamatojoties uz uzdevuma laiku.
Saistīts: Kā masīvi un saraksti darbojas Python
Papildus iepriekšminētā masīva šķirošanai pēc laika, jūs varat to arī sakārtot alfabētiskā secībā, izmantojot uzdevumus, kas ir virknes.
Lai kārtotu pēc virknes masīva piemērā, jums tikai jāmaina Laiks kvadrātiekavās uz Uzdevums:
myArray = [
{"Uzdevums": "Mazgāt", "Laiks": 12.00},
{"Uzdevums": "Futbols", "Laiks": 24.00},
{"Uzdevums": "Kārtot", "Laiks": 17.00},
{"Uzdevums": "Kods", "Laiks": 15.00}
]
def sortByTime (vienums):
atgriezt vienumu ["Uzdevums"]
myArray.sort (atslēga = sortByTime)
drukāt (myArray)
Varat arī kārtot uzdevumus apgrieztā secībā, iestatot reverss uz patiesību:
myArray.sort (atslēga = sortByTime, reverse = True)
Jūs varat arī izmantojiet lambda funkciju ar kārtot () tīrākam kodam:
myArray.sort (atslēga = lambda getTime: getTime ["Laiks"])
drukāt (myArray)
Kā kārtot ligzdoto Python sarakstu
Jūs varat kārtot ligzdoto kopu sarakstu pēc katra šajā sarakstā ievietotā elementa indeksa.
Piemēram, zemāk redzamais kods izmanto katra elementa trešo vienumu, lai kārtotu sarakstu augošā secībā:
Alists = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def sortByThirdIndex (a):
atgriezt [2]
Alist.sort (atslēga = sortByThirdIndex)
drukāt (Alist)
Rezultāts: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]
Iepriekš minētajā izvadā katra elementa trešais vienums secīgi palielinās no nulles līdz divdesmit.
Ņemiet vērā, ka tas nedarbojas ar Python kopu, jo to nevar indeksēt. Turklāt katrai saraksta ligzdai jāpieder vienam un tam pašam datu tipam.
Saistīts: Kas ir Python kopa un kā to izveidot
Lai izkārtotu izvadi dilstošā secībā:
Alist.sort (key = getIndex, reverse = True)
drukāt (Alist)
Rezultāts: [(3, 19, 20), (1, 8, 15), (10, 19, 4), (7, 9, 3), (2, 6, 0)]
Apskatīsim, kā tas izskatās ar lambda funkcija arī:
Alists = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = sakārtots (Alist, key = lambda a: a [2])
drukāt (newList)
Rezultāts: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]
Kā kārtot sarakstu, izmantojot kārtoto () metodi
Alternatīvi, jūs varat izmantot sakārtots () metodi.
Lai gan tas darbojas līdzīgi kā kārtot () metodi, tas izveido jaunu kārtotu sarakstu, nemainot oriģinālu. Arī tā sintakses izkārtojums ir nedaudz atšķirīgs.
Sintakse sakārtots () metode parasti izskatās šādi:
sakārtoti (saraksts, atslēga = funkcija, reverss = patiess / nepatiesa)
Tātad, lai kārtotu sarakstu, izmantojot sakārtots () metodi, jums ir jāizveido jauns mainīgais sakārtotajam sarakstam:
Alists = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def getIndex (a):
atgriezt [2]
newList = sakārtots (Alist, key = getIndex)
drukāt (newList)
Rezultāts: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]
The sakārtots () metode pieņem arī a lambda darbojas kā tā atslēga:
Alists = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = sakārtots (Alist, key = lambda a: a [2])
drukāt (newList)
Rezultāts: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]
Kur jūs varat pieteikties sarakstu šķirošanu?
Efektīvai programmēšanai ir nepieciešams stingrs Python šķirošanas metodes izpratne. Tas ļauj jums kontrolēt saraksta vai masīva parādīšanos, un jūs vienmēr varat to izmantot reālās dzīves projektos. Piemēram, Python saraksta šķirošana var būt noderīga, pārkārtojot datus no API vai datu bāzes, tāpēc galalietotājam tas ir lietderīgāk.
Darbs ar sarakstiem Python? Lūk, kas jums jāzina par funkcijas Python append izmantošanu, strādājot ar sarakstiem.
Lasiet Tālāk
- Programmēšana
- Python
- Kodēšanas konsultācijas

Idowu aizrauj kaut ko gudru tehnoloģiju un produktivitāti. Brīvajā laikā viņš spēlējas ar kodēšanu un pāriet uz šaha galdiņu, kad viņam ir garlaicīgi, taču viņš mīl arī kādu laiku atrauties no rutīnas. Aizraušanās ar cilvēku parādīšanu mūsdienu tehnoloģijās motivē viņu rakstīt vairāk.
Abonējiet mūsu biļetenu
Pievienojieties mūsu informatīvajam izdevumam par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!
Vēl viens solis !!!
Lūdzu, apstipriniet savu e-pasta adresi e-pastā, kuru tikko nosūtījām.