Beste svaret
God kveld,
Noen språk implementerer heldigvis trygt objekt tilgang, selv om jeg ikke vet mye i Python, kan vi anta at objektet du får tilgang til har rekkeviddekontroll.
Det vi kan forstå fra denne veldig enkle uttalelsen er at Python skaper objekter på noen til det meste av dets grunnleggende datatyper og kaller implisitt aksessorer etter behov, transformasjoner og rekkeviddskontroll, konverteringer osv., så du har en logisk feil der, sjekk hvorfor du fikk tilgang til en tuple utenfor sitt område, tilsynelatende har koden noen feil i indeksen og / eller tupelstørrelse.
Det er en merknad for å indikere at andre språk er mer tolerante i det de tillater deg å gjøre, noe som deretter resulterer i såkalt kjøretidsfeil, for tilgang utenfor rekkevidde betyr at du enten lese utilsiktede data og kunne også skrive til et annet objekts minne og dermed ødelegge data, til slutt som resulterer i tap av data eller kjører ti meg krasjer.
Hilsen
Jean-François
Svar
I pythonlisten kan det endres, så størrelsen er ikke fast.
På grunn av at størrelsen ikke er løst
Basert på tildelte verdier av deg for en liste, lager python-minneadministrasjon – internt listen (tilgjengelig indeks) i vekstmønsteret 0, 4 , 8, 16, 25, 35, 46, 58, 72, 88, … i stedet for å ringe til realloc () mange ganger.
Men de tildelte verdiene for en liste er mindre enn listen ( tilgjengelig indeks).
Så for en liste, tilgjengelig indeks > tildelt indeks.
Hvis du prøver å få tilgang til tom eller Ingen element av peker tilgjengelig indeks på listen, så får du “ Feil på listeindeks utenfor rekkevidde”.
åpne python og skitne hendene med th er under koden for å få en bedre forståelse.
>> x = list (1234)
>> x
[1, 2, 3, 4]
>> length = len (x)
4
>> x [lengde ]
Indeksfeil: listeindeks utenfor området
MERK: Listeindeksen starter fra null (0).
Men her er lengden fire.
Oppgaven til listen ovenfor er som:
x [0] = 1
x [1] = 2
x [2] = 3
x [3] = 4
x [4] =?
Hvis du prøver å få tilgang til x [4] som er Ikke eksisterende , listeindeksen utenfor rekkevidde kommer.
For en bedre forståelse av hvordan listene tildeler minne internt, se denne lenken Python-liste implementering .
Takk !!!