Mitä virhe ”tuple index out of range” tarkoittaa Pythonissa?


Paras vastaus

Hyvää iltaa,

Jotkut kielet toteuttavat onneksi turvallisen objektin pääsy, vaikka en tiedä paljoakaan Pythonissa, voimme olettaa, että käyttämällesi objektille on alueiden tarkistus.

Tämän yksinkertaisen lauseen avulla voimme ymmärtää, että Python luo joillekin esineitä suurimmaksi osaksi perustavaa laatua tietotyypit ja kutsuu epäsuorasti sen käyttöoikeuksia tarvittaessa, muunnokset ja etäisyystarkastukset, muunnokset jne., joten sinulla on looginen virhe, tarkista, miksi pääsit tupppiin sen alueen ulkopuolella, ilmeisesti koodissa on jokin virhe hakemistossa ja / tai tuplakoko.

Se on huomautus, joka osoittaa, että muut kielet ovat suvaitsevaisempia siinä, mitä antavat sinun tehdä, mikä johtaa sitten niin kutsuttuun ajoaikavirheeseen, koska käyttöalueiden ulkopuolella tarkoittaa, että joko lukea tahattomia tietoja ja voi kirjoittaa myös toisen objektin muistiin ja siten vioittaa tietoja, mikä johtaa joko tietojen menetykseen tai ajaa ti minä kaatuu.

Terveisin

Jean-François

Vastaa

Pythonissa luettelo on muutettavissa, joten koko ei ole kiinteä.

Koon takia ei ole kiinteä

Python-muistin hallinta – luomasi luettelolle antamiesi arvojen perusteella – luo sisäisesti luettelon (käytettävissä oleva hakemisto) kasvumallissa 0, 4 , 8, 16, 25, 35, 46, 58, 72, 88,… sen sijaan, että soittaisit realloc () monta kertaa.

Mutta luettelolle määritetyt arvot ovat pienempiä kuin luettelo ( käytettävissä oleva hakemisto).

Joten luettelossa käytettävissä oleva hakemisto > määritetty hakemisto.

Jos yrität käyttää tyhjää tai Ei elementtiä , kirjoittanut osoittamalla luettelon käytettävissä olevaa hakemistoa, Sitten saat “ Luettelohakemiston ulkopuolella olevan virheen.

avaa python ja likaa kätesi kanssa th on koodin alapuolella, jotta ymmärrät paremmin.

>> x = list (1234)

>> x

[1, 2, 3, 4]

>> length = len (x)

4

>> x [pituus ]

Hakemistovirhe: luetteloindeksi alueen ulkopuolella

HUOMAUTUS: Luettelohakemisto alkaa nollasta (0).

Mutta tässä pituus on neljä.

Yllä olevan luettelon määritys on seuraava:

x [0] = 1

x [1] = 2

x [2] = 3

x [3] = 4

x [4] =?

Jos yrität käyttää x [4], joka on Ei ole olemassa , luetteloindeksi tulee alueen ulkopuolelle.

Saat paremman käsityksen siitä, kuinka luettelot jakavat muistia sisäisesti, tästä linkistä Python-luettelo toteutus .

Kiitos !!!

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *