Indexek Pythonban
Az index a Pythonban egy pozíciót jelöl egy sorozatban. Leggyakrabban egy sztringben vagy egy listában lévő pozícióra utal. Az indexelés a Pythonban, mint a legtöbb más programozási nyelvben, 0-val kezdődik. Például:
indexValueList =
Ebben a listában minden érték saját indexet is képvisel. Vegyük észre, hogy a lista első eleme valójában a 0 indexnél van. Hasonlóképpen, a lista maximális indexe egyenlő a lista hossza mínusz egy.
A lista adott indexen lévő elemének eléréséhez használjuk a szögletes zárójeles indexelési jelölést a következőképpen:
>>> novels =
>>> novels
'Jane Eyre'
>>> novels
'The Tenant of Wildfell Hall'
Megjegyezzük, hogy a negatív indexek is érvényesek a Pythonban. Például:
>>> novels
'The Tenant of Wildfell Hall'
>>> novels
'Wuthering Heights'
>>> novels
'Jane Eyre'
A karakterláncokat index szerint is elérhetjük. Például:
>>> name = "Brontë"
>>> print name
ë
IndexErrorok Pythonban
IndexErrorral találkozni Pythonban azt jelenti, hogy a lista olyan indexéhez próbáltál hozzáférni, amely nem létezik. Az érvényes indexek tartománya bármely lista esetében , ahol
n
egyenlő a lista hosszával. Ha a n - 1
indexnél nagyobb indexhez próbálsz hozzáférni, a Python egy tartományon kívüli index hibát fog dobni:
>>> suits =
>>> print suits
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
Negatív indexelés esetén nem léphetjük túl a lista hosszát az ellenkező irányban. Nem léphetjük túl az -n
indexet.
Bármely szekvencia típus hosszának meghatározásához használhatja a beépített len()
függvényt:
>>> len()
4
>>> len("Hat")
3
A len()
függvény visszaadja az elemek számát bármilyen szekvenciában, amelyet paraméterként kap. Egy szekvencia maximálisan megengedett indexének megkereséséhez egyszerűen vonjunk ki egyet ebből a számból.
A Pythonban az IndexErrors messze leggyakoribb oka az, hogy egy indexszel tévedünk bármelyik irányba. Ne feledjük, hogy egy n
hosszúságú lista esetében a maximálisan megengedett indexek pozitív irányban n - 1
, negatív irányban pedig -n
.