Buscar..


Listas en listas

Una buena manera de visualizar una matriz 2D es como una lista de listas. Algo como esto:

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

aquí la lista externa lst tiene tres cosas en él. cada una de esas cosas es otra lista: la primera es: [1,2,3] , la segunda es: [4,5,6] y la tercera es: [7,8,9] . Puede acceder a estas listas de la misma manera que accedería a otro elemento de una lista, como este:

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

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

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

A continuación, puede acceder a los diferentes elementos en cada una de esas listas de la misma manera:

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

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

Aquí el primer número dentro de los corchetes [] significa obtener la lista en esa posición. En el ejemplo anterior, usamos el número 0 para obtener la lista en la posición 0, que es [1,2,3] . El segundo conjunto de [] corchetes significa obtener el elemento en esa posición de la lista interna. En este caso, utilizamos 0 y 1 la posición 0 en la lista que obtuvimos es el número 1 y en la 1ª posición es 2

También puede establecer valores dentro de estas listas de la misma manera:

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

Ahora la lista es [[10,11,12],[4,5,6],[7,8,9]] . En este ejemplo, cambiamos toda la primera lista para que sea una lista completamente nueva.

lst[1][2]=15

Ahora la lista es [[10,11,12],[4,5,15],[7,8,9]] . En este ejemplo, cambiamos un solo elemento dentro de una de las listas internas. Primero ingresamos a la lista en la posición 1 y cambiamos el elemento dentro de la posición 2, que era 6 ahora es 15.

Listas en listas en listas en ...

Este comportamiento puede ser extendido. Aquí hay una matriz tridimensional:

[[[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]]]

Como probablemente sea obvio, esto se vuelve un poco difícil de leer. Usa barras invertidas para dividir las diferentes dimensiones:

[[[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]]]

Al anidar las listas como esta, puede extenderse a dimensiones arbitrariamente altas.

El acceso es similar a las matrices 2D:

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

Y la edición también es similar:

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow