Cosa significa lerrore “indice di tupla fuori intervallo” in Python?


Migliore risposta

Buonasera,

Alcuni linguaggi per fortuna implementano oggetti sicuri accesso, anche se non so molto in Python, possiamo presumere che loggetto a cui accedi abbia il controllo dellintervallo.

Quello che possiamo capire da questa semplice dichiarazione è che Python crea oggetti su alcuni per la maggior parte dei suoi fondamentali tipi di dati e chiama implicitamente le sue funzioni di accesso secondo necessità, trasformazioni e controllo dellintervallo, conversioni così via, quindi hai un errore logico lì, controlla perché hai accesso a una tupla fuori dal suo intervallo, apparentemente il codice ha qualche errore nellindice e / o la dimensione della tupla.

Questa è una nota per indicare che altre lingue sono più tolleranti in ciò che ti consentono di fare, il che poi si traduce in un cosiddetto errore di runtime, poiché laccesso fuori intervallo significa che leggere dati non intenzionali e potrebbe scrivere anche nella memoria di un altro oggetto e quindi dati corrotti, alla fine con conseguente perdita di dati o esecuzione ti me crash.

Saluti

Jean-François

Risposta

Nella lista di Python è modificabile, quindi la dimensione non è fissa.

A causa della dimensione non è fissa

In base ai valori assegnati da te per una lista, gestione della memoria python – crea internamente la lista (indice disponibile) nel modello di crescita di 0, 4 , 8, 16, 25, 35, 46, 58, 72, 88, … invece di chiamare realloc () molte volte.

Ma i valori assegnati per una lista sono inferiori alla lista ( indice disponibile).

Quindi, per un elenco, l indice disponibile > indice assegnato.

Se provi ad accedere allelemento vuoto o Nessuno da indicando lindice disponibile della lista, quindi otterrai “ Errore di indice fuori intervallo”.

apri python e sporcati le mani con th è sotto il codice, per avere una migliore comprensione.

>> x = list (1234)

>> x

[1, 2, 3, 4]

>> length = len (x)

4

>> x [length ]

Errore indice: elenco indice fuori intervallo

NOTA: Lindice dellelenco inizia da zero (0).

Ma qui la lunghezza di è quattro.

Lassegnazione dellelenco precedente è come:

x [0] = 1

x [1] = 2

x [2] = 3

x [3] = 4

x [4] =?

Se provi ad accedere a x [4] che è Non esistente , verrà visualizzato lindice della lista fuori intervallo.

Per una migliore comprensione di come le liste allocano la memoria internamente, vedere questo link Elenco Python implementazione .

Grazie !!!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *