13  Sortiranje

Za osnove sortiranja glej Delo z objekti

Bolj podrobno je sortiranje opisano v dokumentaciji: https://docs.python.org/3/howto/sorting.html

Funkciji za sortiranje lahko podamo tudi neobvezni argument key=ime_funkcije, s katerim podamo ime druge funkcije, ki sprejme elemente seznama in vrne tiste elemente, po katerih želimo seznam sortirati. Primer sortiranja po tretjem elementu nabora:

def sortirna_funkcija(element_seznama):
    return element_seznama[2]

student_tuples = [
    ('john', 'A', 15),
    ('jane', 'B', 12),
    ('dave', 'B', 10),
]
print(sorted(student_tuples, key=sortirna_funkcija))
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

Sortiramo lahko tudi po več komponentah nabora, če v funkciji vrnemo nabor komponent, po katerih želimo sortirati. npr. funkcija

def sortirna_funkcija(element_seznama):
    return  (element_seznama[1], element_seznama[2])

bi seznam najprej sortirala po drugem elementu nabora, nato pa še po tretjem (tisti elementi seznama, ki imajo enak drugi element nabora, bi bili sortirani še po tretjem).