Indices in Python
Um índice em Python representa uma posição numa sequência. Mais comumente, isto refere-se a uma posição em uma string ou uma lista. A indexação em Python, como a maioria das outras linguagens de programação, começa em 0. Por exemplo:
indexValueList =
Cada valor nesta lista também representa o seu próprio índice. Note que o primeiro item da lista está na verdade no índice 0. Da mesma forma, o índice máximo na lista é igual ao comprimento da lista menos um.
Para acessar o elemento de uma lista em um dado índice, use a notação de indexação de colchete como tal:
>>> novels =
>>> novels
'Jane Eyre'
>>> novels
'The Tenant of Wildfell Hall'
Nota que os índices negativos também são válidos em Python. Por exemplo:
>>> novels
'The Tenant of Wildfell Hall'
>>> novels
'Wuthering Heights'
>>> novels
'Jane Eyre'
Strings também podem ser acessadas por índice. Por exemplo:
>>> name = "Brontë"
>>> print name
ë
IndexErrors em Python
Para encontrar um IndexError em Python significa que você tentou acessar um índice da lista que não existe. O intervalo de índices válidos para qualquer lista é onde
n
é igual ao comprimento da lista. Se você tentar acessar algo maior que o índice n - 1
, Python irá jogar um índice fora do intervalo de erro:
>>> suits =
>>> print suits
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
Para indexação negativa, não pode exceder o comprimento da lista na direcção oposta. Nomeadamente, você não pode exceder o índice -n
.
Para determinar o comprimento de qualquer tipo de sequência, você pode usar a função incorporada len()
:
>>> len()
4
>>> len("Hat")
3
A função len()
retornará o número de elementos em qualquer sequência que lhe seja dada como parâmetro. Para encontrar o índice máximo permitido para uma sequência, basta subtrair um a este número.
De longe, a causa mais comum de IndexErrors em Python é ser desligado por um índice em qualquer direção. Basta lembrar, para uma lista de comprimento n
, os índices máximos permitidos são n - 1
na direção positiva e -n
na direção negativa.