Why does the following code
A = [[[0] * 3] * 3] * 3
A[2][2][2] = 1
print A
print this
[[[0, 0, 1], [0, 0, 1], [0, 0, 1]], [[0, 0, 1], [0, 0, 1], [0, 0, 1]], [[0, 0, 1], [0, 0, 1], [0, 0, 1]]]
instead of just setting one of the elements to 1?