Índice de listas fora do range python

Índice de listas fora do range python

Em Python, IndexError é um dos erros de tempo de execução mais comum. O erro ocorre sempre que você tenta obter um valor de índice que não se apresenta dentro de uma lista de Python. Às vezes, pouca depuração pode resolver seu erro de índice. Há duas razões por trás da ocorrência deste erro. A primeira razão por trás desse erro é quando você tenta percorrer uma lista e não recordar que os índices das listas estão começando de zero. Em segundo lugar, quando você não usa a função range () para atravessar uma lista. Neste guia, falaremos sobre esse erro em detalhes e sugeriremos maneiras de resolvê -lo. Com a ajuda de exemplos, discutimos como funciona.

Exemplo 1:

Neste exemplo, imprimimos todos os elementos presentes em uma lista chamada “cars_name”E verifique como ocorre o erro“ Índice de Lista fora do intervalo ”. Fazemos tudo isso usando o Spyder Compiler no Windows 10. Portanto, basta iniciar o Spyder IDE, criar um novo arquivo no menu de arquivos e processar ainda mais para a implementação do programa.

Em nosso código de programa, declaramos e inicializamos primeiro duas variáveis. A primeira variável, “cars_name”Armazena a lista de carros que queremos exibir na tela do console. O "contar”A variável é utilizada para salvar quantos elementos exibimos na tela.

Em seguida, estamos usando um loop de tempo. Enquanto o loop exibe o valor do “cars_name"No ponto de índice salvo em"contar”. Este loop itera até o valor de “contar”Satisfaz a condição dada.

Cars_name = ["Honda", "Civic", "Corolla"]
Contagem = 0
Enquanto conta <= len(cars_name)
Imprimir (cars_name [contagem])
Contagem += 1

Depois de salvar o arquivo e especificar seu nome, executamos nosso código de programa para verificar o erro. O erro foi exibido na captura de tela abaixo.

Todos os elementos da nossa lista são exibidos na tela do console, mas um “erro de índiceOcorreu. A questão ocorre porque o loop itera continuamente até o “contar”O valor satisfaz a condição fornecida. Isso significa que ele verifica o valor de travessia final para cars_name [3], que não existe. Isso gera um IndexError. Para corrigir esse problema, podemos alterar nosso operador de “menos que igual a" para "menor que”. Ele garante que nossa lista apenas atravesse até “contar”Satisfaz a nova condição dada. Vamos nos mover e fazer esta alteração:

Cars_name = ["Honda", "Civic", "Corolla"]
Contagem = 0
Enquanto conta < len(cars_name)
Imprimir (cars_name [contagem])
Contagem += 1

Agora, corrigimos o IndexError com sucesso. Salve e execute o arquivo e verifique nosso loop está executando bem e tentando exibir cars_name [3]. O resultado bem -sucedido pode ser visto agora.

Exemplo 2:

Quando estamos atravessando uma lista e esquecem de adicionar uma instrução range (). Se você estiver recuperando valores nesta lista, pode haver uma possibilidade de indexError.

Student_rollno = [9, 10, 9]
Para Rollno em Student_rollno:
Imprimir (Student_rollno [rollno])

Neste exemplo, imprimimos todos os elementos presentes no “Student_rollno" variedade. Esta matriz compreende o número de estudantes em uma turma. Vamos executar nosso código com a ajuda do compilador Spyder e verificar o que obtemos. Novamente, recebemos um erro semelhante.

Um IndexError ocorreu. Vamos aumentar uma declaração de impressão para visualizar a saída de “Student_rollno”.

Student_rollno = [9, 10, 9]
Para Rollno em Student_rollno:
Imprimir (Rollno)
Imprimir (Student_rollno [rollno])

Novamente, salve o código usando “Ctrl+s”E execute o programa para verificar o que aconteceu a seguir:

O "Núm. da lista”9 é exibido na tela do console. No entanto, o "Núm. da lista”O valor é um valor real de“Student_rollno”. Mas em nosso programa, estamos tentando buscar um “Núm. da lista”Por seu número de índice. Para corrigir este problema, aqui vem uma declaração RAND () para atravessar a lista de student_rollno. A função range () cria uma lista em uma ordem de índice específica.

Student_rollno = [9, 10, 9]
Para Rollno em Range (0, Len (Student_rollno)):
Imprimir (Student_rollno [rollno])

Novamente, execute o programa e verifique se ele corrige o erro:

Conclusão

Neste tutorial, discutimos a ocorrência do erro “índice de lista fora da faixa”E maneiras de consertar. Para corrigir o erro, tente não acessar um valor que não ocorra em uma lista. Espero que agora você possa resolver diretamente esse erro ao compilar seus códigos.