Kā sakārtot gandrīz jebkura veida sarakstu Python

Kā sakārtot gandrīz jebkura veida sarakstu Python

Saraksta kārtošana programmā Python ļauj sakārtot tā vienumus augošā vai dilstošā secībā.





Tā vietā, lai rakstītu garus koda blokus, Python ir iebūvēta metode, kas ļauj kārtot vienumus jebkurā sarakstā vai masīvā. Šajā rakstā mēs paskaidrosim, kā to izdarīt.





Kā kārtot sarakstu Python

Jūs varat kārtot vienumus sarakstā vai masīvā, izmantojot Python kārtot () metode.





The kārtot () metode Python pieņem divus izvēles argumentus, un sintakse izskatās šādi:

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

Pēc noklusējuma kārtot () metode saraksta vienumus sakārto augošā secībā:



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

Jūs varat izmantot otrādi arguments, lai apskatītu sarakstu dilstošā secībā:

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

Varat arī sakārtot vienumus sarakstā pēc katras virknes garuma.





Lai to izdarītu, izveidojiet funkciju un nododiet to mapē kārtot () metode, izmantojot izvēles taustiņu arguments:

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

Kā sakārtot Python vārdnīcu sarakstu

Jūs varat izmantot kārtot () metode, lai sakārtotu arī vārdnīcu sarakstu.





Sakārtosim uzdevumus zemāk esošajā vārdnīcā pēc to laika:

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)

Tā kā laika vērtības ir veseli skaitļi, iepriekš minētais koda 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 varat to sakārtot arī alfabētiskā secībā, izmantojot uzdevumus, kas ir virknes.

Lai kārtotu pēc virknes parauga masīvā, jums tikai jāmaina Laiks kvadrātiekavās līdz Uzdevums :

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)

Varat arī kārtot uzdevumus apgrieztā secībā, iestatot otrādi patiesi:

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

Jūs varat arī izmantojiet lambda funkciju ar kārtot () tīrākajam kodam:

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

Kā kārtot ligzdoto Python sarakstu

Jūs varat kārtot ligzdotu kopu sarakstu pēc katra ligzdotā elementa indeksa šajā sarakstā.

Piemēram, zemāk esošajā kodā tiek izmantots trešais vienums katrā kartē, lai kārtotu sarakstu augošā secībā:

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

Iepriekš minētajā iznākumā trešais vienums katrā kartē palielinās no nulles līdz divdesmit pēc kārtas.

Ņemiet vērā, ka tas nedarbojas ar Python kopu, jo jūs nevarat to indeksēt. Turklāt katrai saraksta ligzdai jāpieder vienam un tam pašam datu tipam.

Saistīts: Kas ir Python komplekts un kā to izveidot

melns ekrāns, startējot Windows 10

Tomēr, lai izvadi sakārtotu dilstošā secībā:

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

Apskatīsim, kā tas izskatās ar lambda darbojas arī:

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

Saraksta kārtošana, izmantojot metodi Sorted ()

Alternatīvi varat izmantot sakārtots () metode.

Lai gan tas darbojas līdzīgi kā kārtot () metodi, tas izveido jaunu sakārtotu sarakstu, nemainot oriģinālu. Arī tās sintakses izkārtojums ir nedaudz atšķirīgs.

Sintakse vārdam sakārtots () metode parasti izskatās šādi:

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

Tātad, lai kārtotu sarakstu, izmantojot sakārtots () metodi, jums ir jāizveido jauns mainīgais sakārtotajam sarakstam:

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 sakārtots () metode pieņem arī a lambda darbojas kā tā atslēga:

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

Kur var pielietot sarakstu kārtošanu?

Efektīvai programmēšanai ir nepieciešama stingra Python kārtošanas metodes izpratne. Tas ļauj jums kontrolēt sarakstu vai masīvu, un jūs vienmēr varat to izmantot reālās dzīves projektos. Piemēram, Python saraksta kārtošana var būt noderīga, pārkārtojot datus no API vai datu bāzes, tāpēc galalietotājam tas ir saprātīgāk.

Kopīgot Kopīgot Čivināt E -pasts Kā pievienot sarakstu programmā Python

Vai strādājat ar sarakstiem Python? Lūk, kas jums jāzina, izmantojot funkciju Python append, strādājot ar sarakstiem.

Lasīt Tālāk
Saistītās tēmas
  • Programmēšana
  • Python
  • Kodēšanas apmācības
Par autoru Idisou Omisola(Publicēti 94 raksti)

Idowu aizraujas ar jebko gudru tehnoloģiju un produktivitāti. Brīvajā laikā viņš spēlējas ar kodēšanu un pārslēdzas uz šaha galdu, kad viņam ir garlaicīgi, taču viņam arī patīk laiku pa laikam atrauties no rutīnas. Viņa aizraušanās parādīt cilvēkiem ceļu apkārt mūsdienu tehnoloģijām motivē viņu rakstīt vairāk.

Vairāk no Idowu Omisola

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu