Python Language
Matrici multidimensionali
Ricerca…
Elenchi in elenchi
Un buon modo per visualizzare un array 2d è come un elenco di elenchi. Qualcosa come questo:
lst=[[1,2,3],[4,5,6],[7,8,9]]
qui la lista esterna lst
ha tre cose in esso. ognuna di queste cose è un'altra lista: la prima è: [1,2,3]
, la seconda è: [4,5,6]
e la terza è: [7,8,9]
. Puoi accedere a questi elenchi nello stesso modo in cui accederai a un altro elemento di un elenco, come questo:
print (lst[0])
#output: [1, 2, 3]
print (lst[1])
#output: [4, 5, 6]
print (lst[2])
#output: [7, 8, 9]
È quindi possibile accedere ai diversi elementi in ciascuno di questi elenchi allo stesso modo:
print (lst[0][0])
#output: 1
print (lst[0][1])
#output: 2
Qui il primo numero all'interno delle parentesi []
significa ottenere l'elenco in quella posizione. Nell'esempio sopra abbiamo usato il numero 0
per ottenere la lista nella posizione 0 che è [1,2,3]
. Il secondo set di parentesi []
significa ottenere l'oggetto in quella posizione dall'elenco interno. In questo caso abbiamo usato sia 0
che 1
la 0a posizione nella lista che abbiamo ottenuto è il numero 1
e nella 1a posizione è 2
Puoi anche impostare valori all'interno di questi elenchi allo stesso modo:
lst[0]=[10,11,12]
Ora la lista è [[10,11,12],[4,5,6],[7,8,9]]
. In questo esempio abbiamo cambiato l'intero primo elenco per essere un elenco completamente nuovo.
lst[1][2]=15
Ora la lista è [[10,11,12],[4,5,15],[7,8,9]]
. In questo esempio abbiamo modificato un singolo elemento all'interno di una delle liste interne. Per prima cosa siamo entrati nella lista in posizione 1 e abbiamo cambiato l'elemento al suo interno in posizione 2, che ora era 6 ora è 15.
Elenchi in elenchi in elenchi in ...
Questo comportamento può essere esteso. Ecco una matrice tridimensionale:
[[[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]]]
Come è probabilmente ovvio, questo diventa un po 'difficile da leggere. Utilizza le barre rovesciate per suddividere le diverse dimensioni:
[[[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]]]
Nidificando gli elenchi come questo, puoi estendere a dimensioni arbitrariamente elevate.
L'accesso è simile agli array 2D:
print(myarray)
print(myarray[1])
print(myarray[2][1])
print(myarray[1][0][2])
etc.
E il montaggio è anche simile:
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.