In Python, Indexerror è uno degli errori di runtime che si verificano più comunemente. L'errore si verifica ogni volta che si tenta di ottenere un valore dell'indice che non si presenta all'interno di un elenco di Python. A volte, un piccolo debug può risolvere l'errore dell'indice. Ci sono due ragioni dietro il verificarsi di questo errore. Il primo motivo alla base di questo errore è quando si tenta di attraversare un elenco e non ricordare che gli indici di elenchi iniziano da zero. In secondo luogo, quando non si utilizza la funzione intervallo () per attraversare un elenco. In questa guida, parleremo di questo errore in dettaglio e suggeriremo modi per risolverlo. Con l'aiuto di esempi, discutiamo di come funziona.
Esempio 1:
In questo esempio, stampiamo tutti gli elementi presenti in un elenco chiamato "CARS_NAME"E controlla come si verifica l'errore" Elenco indice fuori porta ". Facciamo tutto questo usando il compilatore Spyder in Windows 10. Quindi, basta avviare Spyder IDE, creare un nuovo file dal menu dei file ed elaborare ulteriormente per l'implementazione del programma.
Nel nostro codice del programma, abbiamo prima dichiarato e inizializzato due variabili. La prima variabile, "CARS_NAME"Memorizza l'elenco delle auto che vogliamo visualizzare nella schermata della console. IL "contare"La variabile viene utilizzata per salvare quanti elementi abbiamo visualizzato sullo schermo.
Successivamente, stiamo usando un ciclo while. Mentre loop visualizza il valore da "CARS_NAME"Al punto indice salvato in"contare". Questo ciclo ripete fino al valore di "contare"Soddisfa la condizione data.
CARS_NAME = ["Honda", "Civic", "Corolla"]Dopo aver salvato il file e aver specificato il nome, eseguiamo il nostro codice di programma per verificare l'errore. L'errore è stato visualizzato sullo screenshot seguente.
Tutti gli elementi nel nostro elenco sono visualizzati nella schermata della console, ma un "Errore indice" si è verificato. Il problema si verifica perché il ciclo continua continuamente fino a "contare"Il valore soddisfa la condizione data. Significa che controlla il valore di attraversamento finale per CARS_NAME [3], che non esiste. Questo genera un Indexerror. Per risolvere questo problema, possiamo modificare il nostro operatore da "meno che uguale a" A "meno di". Garantisce che la nostra lista attraversa solo fino a "contare"Soddisfa la nuova condizione data. Muoviamo e facciamo questo emendamento:
CARS_NAME = ["Honda", "Civic", "Corolla"]Ora abbiamo risolto correttamente l'indicerror. Salva ed esegui il file e controlla il nostro loop sta eseguendo bene e prova a visualizzare CARS_NAME [3]. Il risultato di successo può essere visto ora.
Esempio 2:
Quando attraversiamo un elenco e dimentichiamo di aggiungere un'istruzione intervallo (). Se stai recuperando i valori in questo elenco, allora potrebbe esserci una possibilità di Indexerror.
Student_Rollno = [9, 10, 9]In questo esempio, stampiamo tutti gli elementi presenti in "Student_rollno" vettore. Questo array comprende il numero di tiri di studenti in classe. Eseguiamo il nostro codice con l'aiuto del compilatore Spyder e controlla cosa otteniamo. Ancora una volta abbiamo ricevuto un errore simile.
Si è verificato un indicerror. Aumentiamo un'istruzione di stampa per visualizzare l'output di "Student_rollno".
Student_Rollno = [9, 10, 9]Ancora una volta, salva il codice usando "Ctrl+s"E esegui il programma per controllare cosa è successo dopo:
IL "rollno"9 viene visualizzato nella schermata della console. Comunque, il "rollno"Il valore è un valore reale da"Student_rollno". Ma nel nostro programma, stiamo cercando di recuperare un "rollno"Dal suo numero di indice. Per risolvere questo problema, ecco un'istruzione Range () per attraversare l'elenco di Student_Rollno. La funzione intervallo () crea un elenco in un particolare ordine di indice.
Student_Rollno = [9, 10, 9]Ancora una volta, eseguire il programma e verificare se correggi l'errore:
Conclusione
In questo tutorial, abbiamo discusso del verificarsi dell'errore "Elenca l'indice fuori porta"E modi per risolverlo. Per correggere l'errore, provare a non accedere a un valore che non si verifica in un elenco. Spero ora che tu possa risolvere direttamente questo errore durante la compilazione dei codici.