Indexy v Pythonu
Index v Pythonu představuje pozici v posloupnosti. Nejčastěji se jedná o pozici v řetězci nebo seznamu. Indexování v jazyce Python, stejně jako ve většině ostatních programovacích jazyků, začíná od 0. Např:
indexValueList =
Každá hodnota v tomto seznamu také představuje svůj vlastní index. Všimněte si, že první položka v seznamu je ve skutečnosti na indexu 0. Stejně tak maximální index do seznamu je roven délce seznamu minus jedna.
Chcete-li přistupovat k prvku v seznamu na daném indexu, použijte zápis indexování v hranatých závorkách takto:
>>> novels =
>>> novels
'Jane Eyre'
>>> novels
'The Tenant of Wildfell Hall'
Všimněte si, že v jazyce Python platí i záporné indexy. Například:
>>> novels
'The Tenant of Wildfell Hall'
>>> novels
'Wuthering Heights'
>>> novels
'Jane Eyre'
K řetězcům lze přistupovat také pomocí indexu. Například:
>>> name = "Brontë"
>>> print name
ë
IndexErrors v Pythonu
Setkání s chybou IndexError v Pythonu znamená, že jste se pokusili přistoupit k indexu seznamu, který neexistuje. Rozsah platných indexů pro libovolný seznam je , kde
n
je rovna délce seznamu. Pokud se pokusíte přistoupit k čemukoli většímu než index n - 1
, Python vyhodí chybu indexu mimo rozsah:
>>> suits =
>>> print suits
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
Při záporném indexování nemůžete překročit délku seznamu v opačném směru. Konkrétně nelze překročit index -n
.
Pro určení délky libovolného typu sekvence můžete použít vestavěnou funkci len()
:
>>> len()
4
>>> len("Hat")
3
Funkce len()
vrátí počet prvků jakékoli posloupnosti, která je jí zadána jako parametr. Chcete-li zjistit maximální přípustný index posloupnosti, jednoduše od tohoto čísla odečtěte jedničku.
Zdaleka nejčastější příčinou chyb IndexErrors v jazyce Python je odchylka o jeden index v obou směrech. Stačí si zapamatovat, že pro seznam délky n
jsou maximální přípustné indexy n - 1
v kladném směru a -n
v záporném směru.