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].
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.
Kilder
-
- Matthes A. (2019). Python Crash Course. no starch press