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.
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.
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.
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.
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 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.
LinkedInVerwandter Artikel - Python TypeError
- Beheben Sie den TypeError: Not All Arguments Converted While String Formatting in Python
- Lösen Sie den TypeError: In Python ist eine ganze Zahl erforderlich
- Python TypeError: 1 erforderliches Positionsargument fehlt
- Python TypeError: Nicht hashbarer Typ: Liste
- TypeError: Iteration über Non-Sequence
Verwandter Artikel - Python Error
- Adresse wird bereits verwendet Fehler in Python
- AttributeError: __Exit__ in Python
- AttributeError: 'Dict'-Objekt hat kein Attribut 'Append' in Python
- AttributeError: 'NoneType'-Objekt hat kein Attribut 'Text' in Python
- AttributeError: Int-Objekt hat kein Attribut
- AttributeError: Modul Urllib hat keine Attributanforderung