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,
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