Index Error

, Author

Indices in Python

Et indeks i Python repræsenterer en position i en sekvens. Oftest refererer dette til en position i en streng eller en liste. Indeksering i Python, ligesom de fleste andre programmeringssprog, begynder ved 0. F.eks:

indexValueList =

Hver værdi i denne liste repræsenterer også sit eget indeks. Bemærk, at det første element i listen faktisk er på indeks 0. På samme måde er det maksimale indeks i listen lig med listens længde minus én.

Hvis du vil have adgang til elementet i en liste ved et givet indeks, skal du bruge den firkantede parentes-notation til indeksering på følgende måde:

>>> novels =
>>> novels
'Jane Eyre'
>>> novels
'The Tenant of Wildfell Hall'

Bemærk, at negative indikationer også er gyldige i Python. For eksempel:

>>> novels
'The Tenant of Wildfell Hall'
>>> novels
'Wuthering Heights'
>>> novels
'Jane Eyre'

Strings kan også tilgås ved hjælp af indeks. F.eks:

>>> name = "Brontë"
>>> print name
ë

IndexError i Python

At støde på en IndexError i Python betyder, at du har forsøgt at få adgang til et indeks i listen, der ikke findes. Området af gyldige indeks for enhver liste er , hvor n er lig med listens længde. Hvis du forsøger at få adgang til noget, der er større end indeks n - 1, kaster Python en indeksfejl uden for området:

>>> suits =
>>> print suits
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range

Ved negativ indeksering kan du ikke overskride listens længde i den modsatte retning. Du kan nemlig ikke overskride indeks -n.

For at bestemme længden af en hvilken som helst sekvenstype kan du bruge den indbyggede len()-funktion:

>>> len()
4
>>> len("Hat")
3

len()-funktionen returnerer antallet af elementer i den sekvens, den er givet som parameter. For at finde det maksimalt tilladte indeks for en sekvens skal du blot trække en fra dette tal.

Langt den mest almindelige årsag til IndexErrors i Python er, at man er et indeks forkert i begge retninger. Husk blot, at for en liste af længde n er de maksimalt tilladte indicier n - 1 i den positive retning og -n i den negative retning.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.