Sortering verdier er en vanlig praksis i de fleste programmeringsspråk. På grunn av dette , og på grunn av Python fokus på samlinger av data som Lister , Python bibliotekene inneholder en slags metode , kalt "sortert ", som håndterer sorteringsprosesser . Og mens List datatype har også sin egen form metode , representerer den eksterne "sortert "-metoden en mer allsidig alternativ i mange situasjoner . Den List.sort ( ) Metode
For sortering lister på plass, vil en programmerer bruker vanligvis " sort ( ) "-metoden internt i List datatype. Den slags metoden tar den gjeldende listen og sorterer det til stigende rekkefølge, som i dette eksemplet : en
>>> l = [ 5, 4, 7 , 2, 1 ]
>>> l.sort ( )
>>> l
[ 1 , 2, 4 , 5 , 7 ]
listen vil nå gjenstår sortert hvor programmerer bør bestemme seg for å gi det eller bruke det.
"sortert ( )" metode
"sortert ( ) "-metoden utfører samme operasjon på sitt mest grunnleggende bruk. Tar en liste , vil den sorterte metoden sortere verdiene i listen i stigende rekkefølge : en
>>> L2 - [6 , 8, 4, 3, 2 , 5 ]
< p >>>> sortert ( L2 )
[ 2 , 3, 4, 5 , 6, 8 ]
Både list.sort ( ) og sortert ( ) metoder også akseptere en "omvendt " argument , som vil sortere verdiene i synkende rekkefølge : en
>>> l.sort (omvendt = sann)
>>> l
[ 7 , 5, 4, 2 , 1]
>>> sortert ( l2 , reverse = sant )
>>> l2
[ 8 , 6, 5 , 4, 3 , 2 ]
Sortering lister etter verdier
Enkelte lister kan inneholde verdier basert på faktiske organisere data , heller enn bare en liste med tall eller strenger . En gruppe av lister som inneholder en arbeidstakers navn , alder og ID kan ligne på disse eksemplene : en
>>> e1 = [' Bob ' , 29, 1 ]
> ; >> e2 = [' Jane ' , 27, 2 ]
>>> e3 = [' Jill ' , 31, 3 ]
En programmerer sortering disse listene ønsker kanskje å sortere etter den andre verdien representerer alder. Programmereren kan gi en ekstra "nøkkel" parameter eksklusivt til den sorterte klassen som lar programmereren å sortere basert på bestemte verdier , som i dette eksemplet : en
>>> import operatør
< p >>>> ansatte = [ e1 , e2, e3 ] //en liste over de ansattes lister
>>> sortert ( ansatte, key = operator.itemgetter ( 1 ) )
[ [' Jane ' , 27, 2 ], [' Bob ' , 29, 1 ], [' Jill ' , 31, 3 ]]
Metoder og Søke
sortert klassen gir også en programmerer til å sortere lister basert på avkastningen verdier av metodekall , med " methodcaller " som et argument . For eksempel kan programmereren vil sortere verdier basert på antall forekomster av bokstaven " x " i hver oppføring , som i dette eksempelet : en
>>> import operatør
< p >>>> L4 = [' rrrxxxyxx ', ' xxxtx ', ' x ']
>>> sortert ( L4 , key = operator.methodcaller (' teller ', ' x ') )
[' x ',' xxxtx ',' rrrxxxyxx ']