[Python-es] Matrices

José Alejandro Pérez Rubio perezj en si.uji.es
Vie Jun 14 12:40:14 CEST 2002


Buenos dias, he visto en los ultimos dias una preguntas acerca de como
construir una matriz:

> > Mi problema es que no sé como generar esa matriz. Mi idea es algo
asi:
> > lista=[]
> > for row in range(0,12):
> >   for cell in range(0,34):
> >     lista[row].append(cell)
> >
> >>> lista=[]
> >>> for i in range(0,12):
>
> ...     fila = []
> ...     for cell in range(0,34):
> ...         fila.append(cell)
> ...     lista.append(fila)

Y la respuesta de Chema Cortes :

Una forma más concisa sería:

lista=[[0]*34]*12

No son equivalentes, si ejecutamos

lista=[[0]*10]*3
lista[0][0] = 1
print lista

Ya podemos ver porque no son equivalentes. lista contiene 3 referencias
a una unica lista de 10 elemntos. Quiza sea mas aproximado:

lista=map( lambda x : range(0,10), range(0,3) )


Un saludo 





Más información sobre la lista de distribución Python-es