1、特殊构造的列表的元素不可以自加
>>>x = [[0, 0, 0, 0]] *4
>>>x[0][0] += 1
>>>x
[[1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0]]
上面本来是想得到[[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]的。
解决:
老老实实写x的初始值:
>>>x = [[1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0]]
>>>x[0][0] += 1
>>>x
[[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]