Beheben Sie den Python TypeError: List Indices Must Be Integers, Not List

Rana Hasnain Khan 15 Februar 2024
Beheben Sie den Python TypeError: List Indices Must Be Integers, Not List

Wir werden eine verschachtelte Liste und den häufigen Fehler, mit dem viele Programmierer konfrontiert sind, wenn sie versuchen, auf Elemente aus ihnen zuzugreifen, mit Beispielen in Python vorstellen.

Korrigieren Sie den TypeError: list indices must be integers, not list in Python

Listen sind einer der am häufigsten verwendeten und vielseitigsten Datentypen von Python. Listen können in einer Vielzahl von Anwendungen verwendet werden.

Eine verschachtelte Liste enthält Elemente, die eine Liste enthalten. Es ist auch als verschachteltes Array bekannt, das zum Speichern, Organisieren und Bearbeiten mehrdimensionaler Daten verwendet wird.

Ein Beispiel für eine verschachtelte Liste in Python ist unten dargestellt.

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

Dies ist ein häufiger Fehler beim Arbeiten mit verschachtelten Listen. Beim Zugriff auf ein Element in einer verschachtelten Liste müssen wir seine Indizes zweimal angeben.

Der erste ist für die äußere Liste und der zweite für die innere Liste.

Versuchen wir, auf 5 aus dem obigen Beispiel mit Python zuzugreifen, wie unten gezeigt.

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
find_five = nested_list[1][1]
print(find_five)

Die Ausgabe des obigen Codes sieht wie unten gezeigt aus.

Listenindizes müssen Integer sein, nicht Liste im ersten Python-Beispiel

Aber wenn wir versuchen, auf ein Element falsch zuzugreifen, können wir die Fehlermeldung erhalten. Versuchen wir, Situationen nachzubilden, in denen dieser Fehler auftreten kann.

Wenn wir beispielsweise versuchen, einen Index mit beiden Werten zu übergeben, anstatt zwei Indizes separat zu übergeben, wird ein Fehler ausgegeben.

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
find_five = nested_list[1, 1]
print(find_five)

Dies wird den Fehler wie unten gezeigt auslösen.

Listenindizes müssen ganzzahlig sein, nicht Liste im ersten Beispiel für Python-Fehler

Es kann eine weitere Situation geben, in der wir den gleichen Fehler erhalten könnten, wenn wir die Indizes in einer Variablen fälschlicherweise als Liste gespeichert haben, anstatt int einzugeben, wie unten gezeigt.

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
indice_one = [1]
indice_two = [2]
find_six = nested_list[indice_one][indice_two]
print(find_six)

Die Ausgabe des obigen Codes ist unten dargestellt.

Listenindizes müssen Integer sein, nicht Liste im zweiten Beispiel für Python-Fehler

Der beste Weg, diesen Fehler zu vermeiden, besteht darin, Elemente nach Indizes des richtigen Typs aufzurufen. Wenn Sie die Indizes in Variablen speichern, müssen Sie sie wie unten gezeigt als ganze Zahlen zuweisen.

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
indice_one = 1
indice_two = 2
find_six = nested_list[indice_one][indice_two]
print(find_six)

Die Zuweisung der Werte von Indizes als Typ int wird niemals den Fehler auslösen. Der obige Code wird wie unten gezeigt ausgeführt.

Listenindizes müssen Integer sein, nicht Listen in der ersten Python-Fehlerlösung

Zusammenfassend sind verschachtelte Listen eine leistungsstarke Datenstruktur in Python, aber es ist wichtig, daran zu denken, dass Listen nur mit Ganzzahlen indiziert werden können. Wenn wir auf den Fehler TypeError: list indices must be integers, not list stoßen, versuchen wir, mit einem Wert, der keine Ganzzahl ist, auf eine Liste zuzugreifen.

Um diesen Fehler zu beheben, verwenden Sie stattdessen einen ganzzahligen Wert.

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

Verwandter Artikel - Python TypeError

Verwandter Artikel - Python Error