Nota: no se me asusten, parece largo pero se lee en un momento. Gracias por ayudar.
Tengo un problema que no se como solucionar. El caso es que tengo una lista de tres dimensiones ( lista[][][] ), de la cual quiero hacer una copia y una modificación. Al final tiene que quedarme la lista original y la lista modificada. Bien. Que tengo? Pues el siguiente codigo para ilustrar mi problema:
Código python:
Ver originalimport copy
#EJEMPLO 1, QUE FUNCIONA ( per no me sirve de nada )
#Hecha la copia, si se cambia algun elemento de la lista no se modifica el original. Perfecto
a=[]
a =[1,2,3]
b = copy.copy(a)
b[0] = 'helloworld'
print a
print b
#Resultado:
#[1, 2, 3]
#['helloworld', 2, 3]
Código python:
Ver original#EJEMPLO 2, QUE NO FUNCIONA
#Creamos nuestro array tridimensional de prueba. Lo imprimimos. Hacemos la copia. Cambiamos algo y volvemos a imprimir. Y que tenemos? Pues tanto el array original como su copia MODIFICADOS.
m=2
count=0
c = []
for i in range(0,m):
b = []
for j in range(0,m):
a = []
for k in range(0,m):
a.append(count)
count+=1
b.append(a)
c.append(b)
print c
d = copy.copy(c)
d[0][0][0] = 'hello world'
print c
print d
#Resultado :(
#[[[0, 1], [2, 3]], [[4, 5], [6, 7]]]
#[[['hello world', 1], [2, 3]], [[4, 5], [6, 7]]] <<<< :S
#[[['hello world', 1], [2, 3]], [[4, 5], [6, 7]]] <<<<< :S
Alguna idea? Se acepta pulpo como animal de compañía. Gracias de antemano.