Heim >Backend-Entwicklung >Python-Tutorial >Wie definiere und initialisiere ich ein zweidimensionales Array in Python ohne vordefinierte Längen?

Wie definiere und initialisiere ich ein zweidimensionales Array in Python ohne vordefinierte Längen?

DDD
DDDOriginal
2024-12-13 20:48:35178Durchsuche

How to Define and Initialize a Two-Dimensional Array in Python Without Predefined Lengths?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn