Sortering værdier er en almindelig praksis i de fleste programmeringssprog. På grund af dette , og på grund af Python fokus på samlinger af data, såsom lister , indeholder Python biblioteker en slags metode , kaldet " sorteres ", der håndterer sorteringsforanstaltninger . Og mens listen datatype har også sin egen sorteringsmetode , den udvendige " sorteret "-metoden repræsenterer en mere alsidig løsning i mange situationer. Den List.sort ( ) Metode
sortering lister på plads, ville en programmør bruger typisk "slags () "-metoden internt i List datatype. Den slags metode tager den aktuelle liste og sorterer det til stigende rækkefølge , som i dette eksempel : Hej
>>> l = [ 5, 4, 7, 2 , 1]
>>> l.sort ()
>>> l
[1 , 2, 4 , 5, 7]
listen nu forblive sorteres , hvor programmøren skulle beslutte at give det eller bruge det .
" sorteres () " Method
" sorteres ()" metoden udfører samme operation på sin mest grundlæggende brug. Under en liste, vil den sorterede metode sortere værdierne i listen i stigende rækkefølge : Hej
>>> L2 - [ 6, 8, 4, 3 , 2, 5]
< p >>>> sorteret (L2)
[2 , 3, 4 , 5, 6, 8 ]
Både list.sort () og sorteres () metoder også acceptere en "omvendt " argument , som vil løse de værdier i faldende rækkefølge : Hej
>>> l.sort (omvendt = Sand )
>>> l < br >
[ 7, 5 , 4, 2 , 1]
>>> sorteres ( l2 , reverse = Sand )
>>> l2 < br >
[8 , 6, 5 , 4, 3 , 2]
Sortering lister ved værdier
Visse lister kan indeholde værdier baseret på det faktiske organisere data , snarere end blot en liste over numre eller strenge . En gruppe af lister , der indeholder en medarbejders navn , alder og ID kan ligne disse eksempler : Hej
>>> e1 = [' Bob ' , 29, 1]
> ; >> e2 = [' Jane ' , 27 , 2]
>>> e3 = [' Jill ' , 31, 3 ]
En programmør sortering disse lister måske ønsker at sortere efter den anden værdi, der repræsenterer alder. Programmøren kan give en ekstra "nøgle" parameter eksklusivt til sorteres klasse, som gør det muligt for programmøren at sortere baseret på specifikke værdier , som i dette eksempel : Hej
>>> import operatør
< p >>>> medarbejdere = [ e1 , e2 , e3 ] //en liste over medarbejdernes lister
>>> sorteres ( medarbejdere, key = operator.itemgetter (1 )) < br >
[ [' Jane ' , 27, 2], [ ' Bob ' , 29, 1], [ ' Jill ' , 31, 3. ]]
Metoder og Søgning
sorteres klassen også mulighed for en programmør til at sortere lister baseret på afkastet værdier metodekald , ved hjælp af " methodcaller " tasten som et argument. For eksempel kan programmøren vil sortere værdier baseret på antallet af forekomster af bogstavet "X" i hver post , som i dette eksempel : Hej
>>> import operatør
< p >>>> l4 = [' rrrxxxyxx ', ' xxxtx ', ' x ']
>>> sorteres (L4 , key = operator.methodcaller ( ' count ', ' x ") )
[' x ', ' xxxtx ', ' rrrxxxyxx ']