Suche…


Listen in Listen

Eine gute Möglichkeit, ein 2D-Array zu visualisieren, ist eine Liste mit Listen. Etwas wie das:

lst=[[1,2,3],[4,5,6],[7,8,9]]

hier die äußere Liste lst hat drei Dinge drin. jedes dieser Dinge ist eine andere Liste: Die erste ist: [1,2,3] , die zweite ist: [4,5,6] und die dritte ist: [7,8,9] . Sie können auf diese Listen auf dieselbe Weise zugreifen, wie Sie auch auf ein anderes Element einer Liste zugreifen würden:

print (lst[0])
#output: [1, 2, 3]

print (lst[1])
#output: [4, 5, 6]

print (lst[2])
#output: [7, 8, 9]

Sie können dann auf die verschiedenen Elemente in jeder dieser Listen auf dieselbe Weise zugreifen:

print (lst[0][0])
#output: 1 

print (lst[0][1])
#output: 2 

Hier bedeutet die erste Zahl in den [] -Klammern, dass die Liste an dieser Position angezeigt wird. Im obigen Beispiel haben wir die Zahl 0 , um die Liste an der 0-ten Position zu erhalten, dh [1,2,3] . Der zweite Satz von [] -Klammern bedeutet, dass der Artikel an dieser Position von der inneren Liste abgerufen wird. In diesem Fall haben wir sowohl 0 als auch 1 verwendet. Die 0 te Position in der Liste, die wir erhalten haben, ist die Nummer 1 und in der ersten Position ist es 2

Sie können Werte auch in diesen Listen auf dieselbe Weise festlegen:

lst[0]=[10,11,12]

Nun ist die Liste [[10,11,12],[4,5,6],[7,8,9]] . In diesem Beispiel haben wir die gesamte erste Liste in eine komplett neue Liste geändert.

lst[1][2]=15

Nun ist die Liste [[10,11,12],[4,5,15],[7,8,9]] . In diesem Beispiel haben wir ein einzelnes Element in einer der inneren Listen geändert. Zuerst gingen wir in die Liste auf Position 1 und änderten das Element in Position 2 (6), jetzt sind es 15.

Listen in Listen in Listen in ...

Dieses Verhalten kann erweitert werden. Hier ist ein 3-dimensionales Array:

[[[111,112,113],[121,122,123],[131,132,133]],[[211,212,213],[221,222,223],[231,232,233]],[[311,312,313],[321,322,323],[331,332,333]]]

Wie es offensichtlich ist, wird das etwas schwer lesbar. Verwenden Sie umgekehrte Schrägstriche, um die verschiedenen Dimensionen aufzuteilen:

[[[111,112,113],[121,122,123],[131,132,133]],\
 [[211,212,213],[221,222,223],[231,232,233]],\
 [[311,312,313],[321,322,323],[331,332,333]]]

Durch das Verschachteln der Listen auf diese Weise können Sie beliebig hohe Dimensionen erweitern.

Der Zugriff ist ähnlich wie bei 2D-Arrays:

print(myarray)
print(myarray[1])
print(myarray[2][1])
print(myarray[1][0][2])
etc.

Und das Editieren ist auch ähnlich:

myarray[1]=new_n-1_d_list
myarray[2][1]=new_n-2_d_list
myarray[1][0][2]=new_n-3_d_list #or a single number if you're dealing with 3D arrays
etc.


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow