Sortere lister

I artikkelen om liste-metoder blir vi kjent med en del av metodene som er knyttet til lister.

Lister har også en metode for sortering, sort().

Eksempel 1:

Vi oppretter ei liste med tall i vilkårlig rekkefølge, skriver den ut, sorterer den og skriver den ut på nytt.

kaos = [6, -3, 0, 5, 2, 8]
print(kaos)
kaos.sort()
print(kaos)

Vi får først skrevet ut lista slik vi opprettet den, deretter sortert som [−3, 0, 2, 5, 6, 8].

Det er også mulig å få sort() til å sortere i synkende rekkefølge ved å gi inn True som et argument til parameteren reverse.

Eksempel 2:

Vi gjør det samme som i eksempel 1, men angir reverse = True.

kaos = [6, -3, 0, 5, 2, 8]
print(kaos)
kaos.sort(reverse = True)
print(kaos)

Vi får først skrevet ut lista slik vi opprettet den, deretter sortert synkende som [8, 6, 5, 2, 0, −3].

Vi ser at metoden sort() endrer på den opprinnelige lista. Ønsker vi å beholde lista uendret og i stedet få en sortert kopi, kan vi i stedet bruke Python-funksjonen sorted(). Også med sorted() kan vi sortere i synkende rekkefølge ved gi inn True som et argument til parameteren reverse.

Vi skriver følgende kode:

kaos = [6, -3, 0, 5, 2, 8]
print(kaos)
print(sorted(kaos))
print(sorted(kaos, reverse = True))
print(kaos)

Vi får da først skrevet ut den opprinnelige lista, deretter lista sortert stigende og synkende, og i siste utskrift ser vi at den opprinnelige lista er uendret.

Det finnes også en metode som snur rekkefølgen i ei liste, reverse().

Eksempel 4:

Vi skriver følgende kode:

kaos = [6, -3, 0, 5, 2, 8]
print(kaos)
kaos.reverse()
print(kaos)

Vi får først skrevet ut lista slik vi opprettet den, deretter i omvendt rekkefølge som [8, 2, 5, 0, −3, 6].

Oppgave 1:

Skriv Python-kode som oppretter lista kaos som vist i eksemplene, og deretter sorterer lista synkende uten at du angir reverse = True.

Se løsningsforslag

Kilder

    • Matthes A. (2019). Python Crash Course. no starch press