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.


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow