python中的简单n x n矩阵无法正常工作

时间:2015-01-07 18:57:42

标签: python arrays matrix

我用它来创建'x'的4x4矩阵:

listof=[] #table
nic=[] #row
max = 4 #tabele size
nic = ['x']*max #row of x-es
listof = [nic]*max #table of rows
print(listof) #it looks ok
listof[1][1] ="o" #changing one x to o
print(listof) # wrong since all rows have o on index 1

?怎么来的?

顺便说一句:我知道如果我使用它会有效:

listof = [["x" for x in range(max)] for y in range(max)]

但上面的代码有什么问题? 感谢

1 个答案:

答案 0 :(得分:1)

问题是listof最终由四个引用组成到同一个列表。因此,当您更改一行中的元素时,它会在所有行中更改。