Heim >Backend-Entwicklung >Python-Tutorial >Wie initialisiere und verwende ich zweidimensionale Arrays in Python ohne vordefinierte Dimensionen ordnungsgemäß?
Zweidimensionale Arrays in Python ohne initialisierte Länge definieren
Wenn Sie versuchen, ein zweidimensionales Array in Python zu definieren, ohne die Länge anzugeben, wie zum Beispiel:
Matrix = [][]
Möglicherweise tritt der Fehler „IndexError: Listenindex außerhalb des gültigen Bereichs“ auf. Um dieses Problem zu beheben, muss die äußere Liste mit leeren Listen initialisiert werden, bevor Elemente hinzugefügt werden. Python verwendet zu diesem Zweck eine Technik namens Listenverständnis.
Betrachten Sie den folgenden Code:
w, h = 8, 5 Matrix = [[0 for x in range(w)] for y in range(h)]
Hier haben wir eine Liste mit 5 Listen erstellt, von denen jede 8 Nullen enthält. Jetzt können Sie Elemente zu diesem Array hinzufügen:
Matrix[0][0] = 1 Matrix[6][0] = 3 # error! out of range Matrix[0][6] = 3 # valid
Beachten Sie, dass die Matrix die Hauptadresse „y“ hat, was bedeutet, dass der „y-Index“ vor dem „x-Index“ steht. Zum Beispiel:
print Matrix[0][0] # prints 1 x, y = 0, 6 print Matrix[x][y] # prints 3
Es ist wichtig, bei der Indizierung vorsichtig zu sein und die Verwendung desselben Variablennamens (z. B. „x“) sowohl für die innere als auch für die äußere Liste zu vermeiden, wenn Sie mit nichtquadratischen Matrizen arbeiten.
Das obige ist der detaillierte Inhalt vonWie initialisiere und verwende ich zweidimensionale Arrays in Python ohne vordefinierte Dimensionen ordnungsgemäß?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!