Sie haben also mit einer Liste oder einem Array in Python gearbeitet und wahrscheinlich versucht, es zu schneiden. Anstelle des erwarteten Ergebnisses erhalten Sie jedoch eine Fehlermeldung mit der Aufschrift „Listenindex außerhalb des zulässigen Bereichs“. Keine Sorge, das kann jedem passieren.

Lassen Sie uns untersuchen, was dieser Fehler bedeutet, seine Ursache und wie Sie ihn ohne weiteres entfernen können.

Was bedeutet der Fehler "Listenindex außerhalb des Bereichs" in Python?

Wenn Python den Fehler "Listenindex außerhalb des Bereichs" ausgibt, bedeutet dies, dass Sie versucht haben, die Liste über ihren letzten Index hinaus aufzuteilen.

Python identifiziert jedes Element in einer Liste anhand seines Indexes. Und der Index einer Liste beginnt bei Null. Wenn Sie beispielsweise eine Liste mit fünf Elementen haben, befindet sich das erste Element auf dem Index null, während das letzte auf dem vierten Index steht.

Zum Beispiel in einer Liste von fünf Programmiersprachen:

Sprachen = ["Python", "Go", "PHP", "C", "Perl"]
instagram viewer

Die Indizierung für die obige Liste liegt zwischen null und vier. Wenn Sie also versuchen, es zu schneiden, um das fünfte Element zu drucken, wie unten gezeigt, wird ein Fehler ausgegeben:

drucken (Sprachen[5])
Ausgabe:
IndexError: Listenindex außerhalb des gültigen Bereichs

Im obigen Beispiel versucht Python, nach dem fünften Index in der Liste zu suchen, und wenn es ihn nicht finden kann, gibt es den Listenindexfehler aus. Das liegt daran, dass sich das erste Element (Python) auf Index Null befindet, während das letzte (Perl) auf Index Vier liegt.

Das ist die Grundlage für den Fehler "Listenindex außerhalb des gültigen Bereichs". Wie gesagt, Python wirft es, wenn Sie versuchen, eine Liste über ihren letzten Index hinaus zu schneiden.

So entfernen Sie den Fehler „Listenindex außerhalb des Bereichs“ in Python

Wie können Sie diesen Fehler beheben? Es ist einfach.

Zusätzlich zum vorherigen Abschnitt oben können Sie die Indexe mit a drucken zumSchleife in einem Listenverständnis:

indexes = [languages.index (i) für i in Sprachen]
Drucken (Indizes)
Ausgabe:
[0, 1, 2, 3, 4]

Der Index einer Liste ist die Basis des Slicing in der Programmierung. Da Sie also den höchsten Index der Liste für die obige Ausgabe (4) kennen, können Sie die Slice-Grenze entschlüsseln.

Um die Liste aufzuteilen und das letzte Element zu erhalten:

drucken (Sprachen[4])
Ausgabe:
Perl

Es gibt jetzt das richtige Ergebnis aus.

Was ist, wenn Sie die Liste anhand ihres Index durchlaufen möchten?

Neben dem regulären Python for-Schleife, können Sie auch das Indexkonzept verwenden, um eine Liste zu durchlaufen. Obwohl diese Methode mühsam aussehen mag, ist sie manchmal unvermeidlich. Dies ist beispielsweise praktisch, wenn Sie eine Liste in umgekehrter Reihenfolge sortieren möchten.

Bei dieser Methode wird ein Anfangsindex festgelegt und bis zum letzten verfügbaren Index um eins erhöht oder verringert.

So drucken Sie die Artikel mit aufsteigender Indexnummer (vom ersten bis zum letzten Artikel), zum Beispiel:

Index = 0 # Anfangsindex
für i in Sprachen:
drucken (Sprachen[index])
index +=1
Ausgabe:
Python
gehen
PHP
C
Perl

Aber was passiert, wenn Sie den Anfangsindex auf eins statt auf null setzen? Guck mal:

Index = 1 # Anfangsindex
für i in Sprachen:
drucken (Sprachen[index])
index +=1
Ausgabe:
gehen
PHP
C
Perl
IndexError: Listenindex außerhalb des gültigen Bereichs

Im obigen Beispiel beginnt die Indizierung beim zweiten Element (Index eins, gehen). Während des Inkrementierens stoppt die Schleife also nicht, bis die Zählung für die fünf Elemente abgeschlossen ist. Dadurch wird der Index bis zum letzten Element um eins erhöht.

Daher trifft der Slice auf einen fünften Index, der nicht verfügbar ist. Es wirft also einen Indexfehler. Das bedeutet, dass der Index für jedes Element in folgendem Muster zunimmt:

1=1, 1+1=2, 1+2=3, 1+3=4, 1+4=5 

Anstelle des richtigen Musters, das lautet:

0=0, 0+1=1, 1+1=2, 1+2=3, 1+3=4

Wie Sie sehen können, ist der höchste Wert des obigen Index vier, was korrekt ist, da die Schleife beginnt, die Indizierung von Null aus zu inkrementieren.

Wenn Sie also den Anfangsindex wie im ersten Beispiel in diesem Abschnitt auf Null setzen, wird der Fehler „Listenindex außerhalb des gültigen Bereichs“ entfernt:

Index = 0 # Anfangsindex
für i in Sprachen:
drucken (Sprachen[index])
index +=1 #Erhöhen Sie den Index für jede Iteration um eins

Um dieses Konzept für die Ausgabe der Elemente in umgekehrter Reihenfolge anzuwenden, müssen Sie eins von der Länge des Arrays subtrahieren. Dies zwingt den Index, bei vier zu beginnen und bis zum ersten Index, null, herunterzuzählen.

Dies ist hilfreich, wenn Sie sich nicht sicher sind, ob der Längenwert der Liste aus einer Quelle, beispielsweise einer Datenbank, stammt.

Hier ist ein Beispiel:

index = (len (Sprachen)-1)
für i in Sprachen:
drucken (Sprachen[index])
Index -=1 #Verringern Sie den Index für jede Iteration um eins
Ausgabe:
Perl
C
PHP
gehen
Python

Aber wenn eins nicht von der Länge der Liste subtrahiert wird, wird der Fehler "Liste außerhalb des Bereichsindex" ausgegeben:

index = (len (Sprachen)-1)
für i in Sprachen:
drucken (Sprachen[index])
Index -=1
Ausgabe:
IndexError: Listenindex außerhalb des gültigen Bereichs

Der obige Code löst einen Indexfehler aus, da die Länge der Liste fünf beträgt, und er versucht, mit der Indizierung von fünf auf null herunterzufahren, während der höchste Index vier ist. Das bedeutet also, dass die Liste keinen fünften Index (sechster Eintrag) hat.

Holen Sie sich Creative-Handling-Listen in Python

Die Fehler von Python sind menschenfreundlich und normalerweise lesbar. Dies macht sie ausnahmslos in einem angemessenen Umfang rückverfolgbar.

Wie Sie gelernt haben, ist das Entfernen des Listenindex-Out-of-Range-Fehlers ziemlich einfach. Wenn dieser Fehler in Ihren zukünftigen Programmen auftritt, können Sie unabhängig davon, wie komplex die Liste ist, die in diesem Beitrag erläuterten Konzepte anwenden, um das Problem zu lösen.

Fühlen Sie sich frei, mit komplexen Listen kreativ zu werden. Vielleicht möchten Sie in Ihrer Freizeit auch lernen, wie man Listen in Python sortiert, um einen besseren Überblick zu bekommen.

So sortieren Sie fast jede Art von Liste in Python

Listen mit mehreren Datentypen können schnell aus dem Ruder laufen. So sortieren Sie sie mit Python.

Lesen Sie weiter

TeilenTwitternEmail
Verwandte Themen
  • Programmierung
  • Python
  • Programmierung
  • Codierungstipps
Über den Autor
Idowu Omisola (136 veröffentlichte Artikel)

Idowu hat eine Leidenschaft für Smart Tech und Produktivität. In seiner Freizeit spielt er mit Programmieren herum und wechselt bei Langeweile zum Schachbrett, aber er liebt es auch, ab und zu aus der Routine auszubrechen. Seine Leidenschaft, Menschen den Weg durch moderne Technologie zu zeigen, motiviert ihn, mehr zu schreiben.

Mehr von Idowu Omisola

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich anzumelden