Legjobb válasz
Jó estét,
Néhány nyelv szerencsére megvalósítja a biztonságos objektumot hozzáférés, bár nem sokat tudok a Pythonban, feltételezhetjük, hogy az objektum, amelyhez hozzáfér, rendelkezik hatótávolság-ellenőrzéssel.
Amit megérthetünk ebből az egyszerű utasításból, az az, hogy a Python néhány alapon objektumot hoz létre adattípusok, és szükség szerint hallgatólagosan felhívja hozzáférőit, átalakításokat és hatótávolság-ellenőrzéseket, konverziókat stb., Tehát ott van egy logikai hiba, kérjük, ellenőrizze, miért lépett be egy tartományba kívül eső duplához, nyilván a kódban van némi hiba az indexben és / vagy a duplaméret.
Ez egy megjegyzés, amely azt jelzi, hogy a többi nyelv toleránsabb abban, amit engednek megtenni, ami aztán úgynevezett futási hibát eredményez, mivel a tartományon kívüli elérés azt jelenti, hogy nem szándékolt adatokat olvashat, és írhat egy másik objektum memóriájába is, és ezért megsértheti az adatokat, ami vagy adatvesztéssel vagy a me összeomlik.
Üdvözlettel
Jean-François
Válasz
A pythonban a lista módosítható, így a méret nincs rögzítve.
Méret miatt nincs rögzítve
Az Ön által a listához rendelt értékek alapján a python memóriakezelés – belül létrehozza a listát (elérhető indexet) a 0, 4 növekedési mintázatban , 8, 16, 25, 35, 46, 58, 72, 88,… ahelyett, hogy sokszor meghívná a realloc () parancsot.
De a listához rendelt értékek kisebbek, mint a lista ( elérhető index).
Tehát egy lista esetében a elérhető index > hozzárendelt index.
Ha megpróbálja elérni a üres vagy Nincs elem elemet, rámutatva a lista elérhető indexére, ekkor megkapja a „ lista index tartományon kívüli hibát”.
nyissa meg a python-t és piszkolja be a kezeit th-vel kód alatt van, hogy jobban megértsük.
>> x = list (1234)
>> x
[1, 2, 3, 4]
>> length = len (x)
4
>> x [hossz ]
Indexhiba: lista index a tartományon kívül esik
MEGJEGYZÉS: A listaindex nullától (0) kezdődik.
De itt a hossz négy.
A fenti lista hozzárendelése a következő:
x [0] = 1
x [1] = 2
x [2] = 3
x [3] = 4
x [4] =?
Ha megpróbálja elérni az x [4] -et, amely Nem létező , a listán kívül esik a listaindex.
Annak érdekében, hogy jobban megértsük, hogyan osztják fel a listák a memóriát belső módon, kérjük, olvassa el ezt a linket: Python lista megvalósítás .
Köszönöm !!!