Python Sorter Funksjon

Python Sorter Funksjon


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, for eksempel lister, de Python bibliotekene inneholder en slags metode, kalt "sortert", som håndterer sortering operasjoner. Og mens List datatype har også sin egen sorteringsmetoden, representerer ytre "sortert" metoden en mer allsidig alternativ i mange situasjoner.

Den List.sort () Metode

For å sortere lister på plass, vil en programmerer bruker vanligvis "sort ()" metoden internt til listen datatype. Sorteringsmetoden tar den gjeldende listen og sorterer det i stigende rekkefølge, som i dette eksempelet:

l = [5, 4, 7, 2, 1]

l.sort ()

l

[1, 2, 4, 5, 7]

Listen vil nå forbli sortert hvor programmerer bør bestemme seg for å gi det eller bruke det.

Den "sortert ()" Metode

Den "sorteres ()» Fremgangsmåten utfører samme operasjon på sin mest grunnleggende bruk. Tar en liste, vil sortert metoden sortere verdiene i listen i stigende rekkefølge:

l2 - [6, 8, 4, 3, 2, 5]

sorterte (L2)

[2, 3, 4, 5, 6, 8]

Både list.sort () og sortert () metoder også godta en "omvendt" argument, som vil sortere verdiene i synkende rekkefølge:

l.sort (omvendt = True)

l

[7, 5, 4, 2, 1]

sortert (L2, reverse = True)

l2

[8, 6, 5, 4, 3, 2]

Sortering Lister av verdier

Enkelte lister kan inneholde verdier basert på faktiske organisering av data, i stedet for bare en liste med tall eller strenger. En gruppe av lister som inneholder en arbeidstakers navn, alder og ID kan ligne på disse eksemplene:

e1 = [ 'Bob', 29, 1]

e2 = [ 'Jane', 27, 2]

e3 = [ 'Jill', 31, 3]

En programmerer sortering disse listene kan være lurt å sortere etter den andre verdien som representerer alder. Programmereren kan gi en ekstra "nøkkel" parameter eksklusivt til sorteres klasse som gjør at programmerer å sortere basert på bestemte verdier, som i dette eksempelet:

import operatør

ansatte = [e1, e2, e3] // en liste av ansattelister

sortert (ansatte, key = operator.itemgetter (1))

[[ 'Jane', 27, 2], [ "Bob", 29, 1], [ 'Jill', 31, 3]]

Metoder og søking

Den sorterte klassen gir også en programmerer å sortere lister basert på retur verdier av metodekall, ved hjelp av "methodcaller" -tasten som et argument. For eksempel kan programmerer vil sortere verdier basert på antall forekomster av bokstaven "x" i hver oppføring, som i dette eksempelet:

import operatør

L4 = [ 'rrrxxxyxx', 'xxxtx', 'x']

sortert (L4, key = operator.methodcaller ( 'count', 'x'))

[ 'X', 'xxxtx', 'rrrxxxyxx']