Index i Python
Ett index i Python representerar en position i en sekvens. Vanligast är att detta avser en position i en sträng eller en lista. Indexering i Python, liksom i de flesta andra programmeringsspråk, börjar vid 0. Till exempel:
indexValueList =
Varje värde i den här listan representerar också sitt eget index. Observera att det första objektet i listan faktiskt ligger på index 0. På samma sätt är det maximala indexet i listan lika med listans längd minus ett.
För att komma åt elementet i en lista vid ett givet index använder du indexeringsnotationen med hakparenteser på följande sätt:
>>> novels =
>>> novels
'Jane Eyre'
>>> novels
'The Tenant of Wildfell Hall' Notera att negativa indikationer också är giltiga i Python. Till exempel:
>>> novels
'The Tenant of Wildfell Hall'
>>> novels
'Wuthering Heights'
>>> novels
'Jane Eyre' Strängar kan också nås via index. Till exempel:
>>> name = "Brontë"
>>> print name
ë IndexFel i Python
Att stöta på ett IndexFel i Python innebär att du försökte komma åt ett index i listan som inte finns. Intervallet av giltiga index för en lista är där n är lika med listans längd. Om du försöker komma åt något som är större än index n - 1 kommer Python att ge ett indexfel utanför intervallet:
>>> suits =
>>> print suits
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range För negativ indexering kan du inte överskrida listans längd i motsatt riktning. Du kan alltså inte överskrida index -n.
För att bestämma längden på en sekvenstyp kan du använda den inbyggda funktionen len():
>>> len()
4
>>> len("Hat")
3 Funktionen len() returnerar antalet element i den sekvens som ges som parameter. För att hitta det högsta tillåtna indexet för en sekvens subtraherar du helt enkelt ett från detta antal.
Den överlägset vanligaste orsaken till IndexErrors i Python är att man ligger fel med ett index i endera riktningen. Kom bara ihåg att för en lista med längden n är de maximalt tillåtna indexen n - 1 i positiv riktning och -n i negativ riktning.