Definieren eines zweidimensionalen Arrays in Python
Beim Initialisieren eines zweidimensionalen Arrays ohne Angabe der Länge kann der Fehler „ IndexError: Listenindex außerhalb des gültigen Bereichs.“ Dies liegt daran, dass Python erfordert, dass die äußere Liste mit leeren Listen initialisiert wird, bevor Elemente hinzugefügt werden.
Um dieses Problem zu beheben, verwenden Sie Listenverständnis, um das Array zu erstellen:
w, h = 8, 5 Matrix = [[0 for x in range(w)] for y in range(h)]
Dadurch wird ein erstellt Liste mit 5 Listen mit jeweils 8 Elementen, alle auf Null gesetzt.
Sie können dem Array dann Elemente hinzufügen als folgt:
Matrix[0][0] = 1 Matrix[6][0] = 3 # error! IndexError: list index out of range Matrix[0][6] = 3 # valid
Beachten Sie, dass die Matrix die Hauptadresse „y“ hat, was bedeutet, dass der äußere Index (y) vor dem inneren Index (x) steht. Dies unterscheidet sich von einigen anderen Programmiersprachen.
Zum Beispiel:
print Matrix[0][0] # prints 1 x, y = 0, 6 print Matrix[x][y] # prints 3; be careful with indexing!
Während Sie die Indizes beliebig benennen können, kann die Verwendung von „x“ für die innere und äußere Liste zu Problemen führen Verwirrung bei der Indizierung nichtquadratischer Matrizen.
Das obige ist der detaillierte Inhalt vonWie initialisiere und indiziere ich ein zweidimensionales Array in Python richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!