[issue9982] Pointer problem in initializing array of arrays

2010-09-29 Thread Antoine Pitrou
Antoine Pitrou added the comment: That's expected behaviour, syntactically. Multiplying a sequence doesn't deep-copy its elements. If you want an array of distinct arrays, just write: >>> m1 = [[0,0,0,0] for i in range(4)] >>> m1[1][0] = 6 >>> m1 [[0, 0, 0, 0], [6, 0, 0, 0], [0, 0, 0, 0], [0,

[issue9982] Pointer problem in initializing array of arrays

2010-09-29 Thread Marvin Mundry
New submission from Marvin Mundry : >>> m1=[[0,0,0,0]]*4 >>> m1 [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] >>> m1[0][0]+=1 >>> m1 [[1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0]] after initializing an array of arrays as done in the first line of the code snippet all elemen