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?

È stato utile?

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]=....
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top