Wie löse ich den Error-code "TypeError: list indices must be integers or slices, not list" in Python?
Hi,
Ich bin zur Zeit dabei, aus lernzwecken, Tic Tac Toe mit Python zu programmieren. Jedoch kommt bei der Ausgabe einer zweidimensionalen Liste der Fehler-Code "TypeError: list indices must be integers or slices, not list" raus. Mein Code sieht wie folgt aus:
speicher = [
["","",""],
["","",""],
["","",""]
]
for index1 in speicher:
for index2 in index1:
print(speicher[index1][index2])
Ich bedanke mich im Voraus für die Hilfe.
3 Antworten
for index1 in speicher:
for index2 in index1:
print(speicher[index1][index2])
Bin jetzt in python nicht 100% drin, aber ich glaube du erstellst hier keine for Schleife, sondern eine foreach Schleife. Das würde bedeuten, dass index1 und index2 keine Zahlen sind, sondern die einzelnen Array Items. Du kannst in den [] Klammern keine Arrays angeben, sondern nur Zahlen. Du brauchst also eine for Schleife, welche mit Zahlen zählt von 0 - Ende der Liste
Ja, Danke für die Hilfe :) Habe den Fehler gerade selbst gefunden xdddd
Deine äußere for-Schleife gibt dir die Listen zurück, die innere for-Schleife die einzelnen Strings.
Beides kannst du nicht als Index nutzen, um auf die einzelnen Felder zuzugreifen.
Entweder sagst du einfach nur "print(index2)" oder du schreibst die Schleife anders:
for index1 in range(len(speicher)):
for index2 in range(len(Speicher[0])):
print(speicher[index1][index2])
Alternativ kennst du die Größe des Feldes schon. Dann kannst du einfach direkt sagen:
for index1 in range(3):
for index2 in range(3):
print( ... )
for index1 in speicher:
for index2 in index1:
print(index2)