IndexError: lista de índice fora da faixa e python
-
11-09-2019 - |
Pergunta
Eu estou dizendo meu programa para imprimir linha 53 de uma saída. É esse erro me dizendo que não há que muitas linhas e, portanto, não pode imprimi-lo?
Solução
Se você tem uma lista com 53 itens, o último é thelist[52]
porque começo a indexação em 0.
Outras dicas
Sim,
Você está tentando acessar um elemento da lista que não existe.
MyList = ["item1", "item2"]
print MyList[0] # Will work
print MyList[1] # Will Work
print MyList[2] # Will crash.
Você tem um erro off-by-one?
Sim. A seqüência não tem o item 54.
Isso mesmo. 'Índice de lista fora de alcance' significa mais provável que você está se referindo elemento n-th
da lista, enquanto o comprimento da lista é menor do que n
.
Tenha sempre em mente quando você quer superar este erro, o valor padrão de indexação e intervalo vai de 0, por isso, se total de itens é 100, então l [99] e intervalo (99), você terá acesso até a última elemento.
sempre que você receber esse tipo de erro agradar verificação cruzada com itens que vem entre / médio no intervalo, e garantir que seu índice não é passado se obter uma saída depois de ter feito erro perfeito que mencionado acima.
A maneira Python indexação funciona é que ele começa em 0 , então o primeiro número de sua lista seria [0]. Você teria que imprimir [52], como o índice de partida é 0 e
portanto, linha 53 é [52]
.
Subtrair 1 do valor e você deve ser fino. :)
Se você ler uma lista de arquivo de texto, você pode obter a última linha vazia como um elemento da lista. Você pode se livrar dele assim:
list.pop()
for i in list:
i[12]=....