indice di lista fuori portata e pitone: IndexError
-
11-09-2019 - |
Domanda
Ti sto dicendo il mio programma per stampare la linea 53 di un'uscita. E 'questo errore mi dice che non ci sono molte linee e quindi non può stamparlo?
Soluzione
Se avete una lista con 53 elementi, l'ultimo è thelist[52]
perché l'indicizzazione iniziare a 0.
Altri suggerimenti
Si,
Si sta tentando di accedere ad un elemento della lista che non esiste.
MyList = ["item1", "item2"]
print MyList[0] # Will work
print MyList[1] # Will Work
print MyList[2] # Will crash.
Ce l'hai un errore off-by-one?
Sì. La sequenza non ha la voce di 54 °.
Questo è giusto. 'Indice di lista fuori portata' molto probabilmente significa che ci si riferisce a n-th
elemento della lista, mentre la lunghezza della lista è più piccolo di n
.
Sempre tenere a mente quando si vuole superare questo errore, il valore predefinito di indicizzazione e la gamma parte da 0, quindi se gli elementi totale è di 100, allora l [99] e la gamma (99) vi darà accesso fino all'ultimo elemento.
ogni volta che si ottiene questo tipo di errore si prega di un controllo incrociato con gli elementi che si frappone tra / medio nella gamma, e assicurare che il loro indice non è l'ultima se si ottiene in uscita allora avete fatto l'errore perfetta che di cui sopra.
Il Python indicizzazione modo in cui funziona è che si inizia a 0 , in modo che il primo numero della vostra lista sarebbe [0]. Si dovrebbe stampare [52], come l'indice di partenza è 0 e
allineano quindi 53 è [52]
.
sottrarre 1 dal valore e si dovrebbe andare bene. :)
Se si legge un elenco dal file di testo, è possibile ottenere l'ultima riga vuota come un elemento di lista. È possibile liberarsi di esso in questo modo:
list.pop()
for i in list:
i[12]=....