Deler av lister

Det er mulig til å referere til deler av ei liste ved å skrive inn to indekser med kolon mellom, der [a:b] gir ei liste som består av elementene med indeks fra og med a inntil b.

Eksempel 1:

Vi oppretter ei liste som heter primtall:

primtall = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

Skriver vi så for eksempel

print(primtall[1:4])

får vi skrevet ut ei del-liste som består av elementene med indeks 1, 2 og 3 i primtall, det vil si [3, 5, 7].

Det er viktig å merke seg at indekser på formen [a:b] gir ei ny liste, ikke enkeltelementer.

Utelater vi a, betyr det at vi skal starte på første element i lista, utelater vi b, betyr det at vi skal slutte på siste element i lista.

Eksempel 2:

Vi oppretter ei liste med 10 elementer som heter primtall:

primtall = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

Skriver vi så for eksempel

print(primtall[3:4])

får vi skrevet ut ei del-liste som består av elementet med indeks 3 i primtall, det vil si [7].

Skriver vi

print(primtall[:4])

får vi skrevet ut ei del-liste som består av elementene med indekser 0, 1, 2 og 3 i primtall, det vil si [2, 3, 5, 7].

Skriver vi

print(primtall[4:])

får vi skrevet ut ei del-liste som består av elementene med indekser 4, 5, 6, 7, 8 og 9 i primtall, det vil si [11, 13, 17, 19, 23, 29].

Skriver vi

print(primtall[:])

får vi skrevet ut ei del-liste som består av alle elementene i primtall, det vil si [2, 3, 5, 7, 11, 13, 17, 19, 23, 29].

På samme måte som i range(), kan vi angi en skrittverdi når vi genererer del-lister. [a:b:c] gir ei liste som består av elementene med indeks fra og med a inntil b i skritt på c.

Eksempel 3:

Vi oppretter ei liste som heter primtall, som i eksempel 2.

primtall = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

Skriver vi så for eksempel

print(primtall[1:9:2])

får vi skrevet ut ei del-liste som består av elementene med indekser 1, 3, 5 og 7 i primtall, det vil si [3, 7, 13, 19].

Skriver vi

print(primtall[-1:-5:-1])

får vi skrevet ut ei del-liste som består av elementene med indekser −1, −2, −3 og −4 i primtall, det vil si [29, 23, 19, 17].

Skriver vi

print(primtall[::2])

får vi skrevet ut ei del-liste som består av elementene med indekser 0, 2, 4, 6 og 8 i primtall, det vil si [2, 5, 11, 17, 23].

Oppgave 1:

Vi oppretter ei liste som heter kvadrat:

kvadrat = [1, 4, 9, 16, 25, 36]

Hva refererer da kvadrat[1:3], kvadrat[:3], kvadrat[2:] og kvadrat[:5:2] til? Skriv først opp svarene dine, og bruk så print() i Python til å sjekke om du har rett.

Se løsningsforslag

Kilder

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