Heim >Backend-Entwicklung >Python-Tutorial >Wie definiere und initialisiere ich ein zweidimensionales Array in Python ohne vordefinierte Längen?
Definieren eines zweidimensionalen Arrays ohne initialisierte Länge
Beim Versuch, ein zweidimensionales Array ohne Angabe seiner Länge zu definieren, kann es zu Problemen kommen ein „IndexError: Listenindex außerhalb des gültigen Bereichs.“ Dies liegt an der nicht initialisierten äußeren Liste.
Um dieses Problem zu beheben, verwenden Sie Pythons „Listenverständnis“, um zunächst die äußere Liste mit leeren Listen zu initialisieren:
w, h = 8, 5 Matrix = [[0 for x in range(w)] for y in range(h)]
Dadurch wird eine Liste mit „ h“ Listen von „w“-Elementen, alle auf 0 initialisiert.
Jetzt können Sie dem Array Werte zuweisen Elemente:
Matrix[0][0] = 1 Matrix[6][0] = 3 # error! range... Matrix[0][6] = 3 # valid
Beachten Sie, dass das Array die Hauptadresse „y“ hat, was bedeutet, dass der „y-Index“ vor dem „x-Index“ steht.
print Matrix[0][0] # prints 1 x, y = 0, 6 print Matrix[x][y] # prints 3; be careful with indexing!
Sie können die Variable jedoch anpassen Namen, die Verwendung von „x“ und „y“ für den inneren bzw. äußeren Listenindex hilft, Verwechslungen mit nichtquadratischen Arrays zu vermeiden.
Das obige ist der detaillierte Inhalt vonWie definiere und initialisiere ich ein zweidimensionales Array in Python ohne vordefinierte Längen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!