Indexerror: Listenindex außerhalb des zulässigen Bereichs und Python
-
11-09-2019 - |
Frage
Ich sage meine Programmzeile auszudrucken 53 eines Ausgangs. Ist dieser Fehler mir zu sagen, dass es nicht so viele Zeilen und deshalb kann es nicht ausdrucken?
Lösung
Wenn Sie eine Liste mit 53 Einzelteilen haben, die letzte ist thelist[52]
weil die Indizierung bei 0 beginnen.
Andere Tipps
Ja,
Sie versuchen, ein Element der Liste zuzugreifen, die nicht existiert.
MyList = ["item1", "item2"]
print MyList[0] # Will work
print MyList[1] # Will Work
print MyList[2] # Will crash.
Haben Sie bekommen einen Off-by-one Fehler?
Ja. Die Sequenz nicht das 54th Element hat.
Das ist richtig. Liste der Index außerhalb des Bereichs "höchstwahrscheinlich bedeutet, dass Sie beziehen Element der Liste n-th
, während die Länge der Liste kleiner als n
.
Immer im Auge behalten, wenn Sie diesen Fehler überwinden wollen, um den Standardwert der Indizierung und Bereich beginnt bei 0, also wenn insgesamt Artikel 100 dann l [99] und Bereich (99) werden Sie auf den letzten Zugriff auf bis Element.
, wenn Sie diese Art von Fehlern angezeigt kreuzen Sie bitte mit Artikeln überprüfen, die in einem Bereich zwischen / Mitte kommen, und zu versichern, dass ihr Index nicht dauern, wenn Sie Ausgabe erhalten, dann haben Sie perfekt Fehler gemacht, die oben erwähnt wird.
Die Art und Weise Python Indizierung funktioniert, ist, dass es bei 0 beginnt, so dass die erste Zahl Ihrer Liste wäre [0]. Sie würden drucken müssen [52], als der Startindex 0 ist und
Daher Linie 53 ist [52]
.
subtrahieren 1 vom Wert und Sie sollten in Ordnung sein. :)
Wenn Sie eine Liste von Textdatei zu lesen, können Sie die letzte leere Zeile als Listenelement erhalten. Sie können es wie folgt loswerden:
list.pop()
for i in list:
i[12]=....