O que significa o erro “índice de tupla fora do intervalo” em Python?


Melhor resposta

Boa noite,

Algumas linguagens felizmente implementam objeto seguro acesso, embora eu não saiba muito em Python, podemos presumir que o objeto que você acessa tem verificação de intervalo.

O que podemos entender a partir dessa instrução muito simples é que o Python cria objetos em alguns de seus tipos de dados e implicitamente chama seus acessadores conforme necessário, transformações e verificação de intervalo, conversões e assim por diante, então você tem um erro lógico aí, verifique por que você acessou uma tupla fora de seu intervalo, aparentemente o código tem algum erro no índice e / ou tamanho da tupla.

Essa é uma nota para indicar que outras linguagens são mais tolerantes no que permitem que você faça, o que resulta no chamado erro de tempo de execução, pois o acesso fora do intervalo significa que você ler dados não intencionais e pode gravar na memória de outro objeto também e, portanto, corromper os dados, resultando em perda de dados ou execução de ti me travar.

Atenciosamente

Jean-François

Resposta

Na lista python é mutável, então o tamanho não é fixo.

Devido ao tamanho não é fixo

Com base nos valores atribuídos por você para uma lista, gerenciamento de memória python – cria internamente a lista (índice disponível) no padrão de crescimento de 0, 4 , 8, 16, 25, 35, 46, 58, 72, 88,… em vez de chamar realloc () muitas vezes.

Mas os valores atribuídos a uma lista são menores do que a lista ( índice disponível).

Então, para uma lista, o índice disponível > índice atribuído.

Se você tentar acessar o vazio ou Nenhum elemento por apontando o índice disponível da lista, então você obterá o “ Erro de índice da lista fora do alcance”.

abra o python e suja as mãos com Th está abaixo do código, para ter um melhor entendimento.

>> x = list (1234)

>> x

[1, 2, 3, 4]

>> length = len (x)

4

>> x [comprimento ]

Erro de índice: índice de lista fora do intervalo

NOTA: O índice da lista começa do zero (0).

Mas aqui o comprimento é quatro.

A atribuição da lista acima é como:

x [0] = 1

x [1] = 2

x [2] = 3

x [3] = 4

x [4] =?

Se você tentar acessar o x [4] que é Inexistente , o índice da lista sairá do intervalo.

Para uma melhor compreensão de como as listas alocam memória internamente, consulte este link Lista Python implementação .

Obrigado !!!

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *