I artikkelen om lister ser vi at lister er variabler som kan inneholde flere elementer, og at vi kan referere til enkeltelementer i ei liste ved hjelp av indekser, der første element i ei liste har indeks 0. Indeksene i ei liste med n elementer vil altså være tallene fra og med 0 til og med n−1. Bruker vi en indeks som er n eller større, får vi feilmeldingen "IndexError: list index out of range".
Antall elementer i ei liste kan vi finne ved hjelp av Python-funksjonen len().
Eksempel 1:
Vi oppretter ei liste som heter primtall, og inneholder de 10 første primtallene:
primtall = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
len(primtall) vil returnere 10.
Indeksene i primtall går da fra og med 0 til og med 9.
Skriver vi så for eksempel
print(primtall[0], primtall[9])
får vi skrevet ut 2 og 29.
Skriver vi
print(primtall[10])
får vi en feilmelding.
Vi kan imidlertid også bruke negative tall som indekser. Negative indekser regner fra høyre mot venstre. Siste element i ei liste har indeks −1, nest siste −2, og så videre. Første element i ei liste med n elementer vil ha indeks −n. Bruker vi en indeks som er mindre enn −n, får vi samme feilmelding som hvis vi bruker en indeks som er n eller større, "IndexError: list index out of range".
Positive indekser i ei liste med n elementer går altså fra 0 til n−1, fra venstre mot høyre, mens negative indekser går fra −1 til −n fra høyre mot venstre.
Eksempel 2:
Vi oppretter ei liste som heter primtall, som i eksempel 1:
primtall = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
Skriver vi så for eksempel
print(primtall[-1], primtall[-10])
får vi skrevet ut 29 og 2.
Vi oppretter ei liste som heter kvadrat:
kvadrat = [1, 4, 9, 16, 25, 36]
Hvilke tall refererer da kvadrat[-2] og kvadrat[-6] 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