Keskustelut - Python / Ruby / Perl - Python miten tuo append tassa toinii


tuffa 10:44 29.5.11 
miksi saan [1, 2, 3],[1, 2, 3] odotin [1, 2, 3],[11, 2, 3]

sublista = [1, 2, 3]
lista = [sublista]
nsublista = sublista
nsublista[0] = sublista[0]+10
lista.append(nsublista)
print lista
editoitu: 17:18 29.5.11
samip 17:12 29.5.11 

Python
sublista=[1,2,3]
nsublista=sublista[:] #luodaan uusi kopio. nsublista=sublista tekisi viittauksen
nsublista[0]+=10
sublista=[sublista]
sublista.append(nsublista)
sublista
[[1, 2, 3], [11, 2, 3]] #aka sublista[0] = [1,2,3] ja sublista[1] = [11, 2, 3]
 


append siis lisää suluissa olevan osan listan viimeiseksi itemiksi.