我用它来创建'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)]
但上面的代码有什么问题? 感谢
答案 0 :(得分:1)
问题是listof
最终由四个引用组成到同一个列表。因此,当您更改一行中的元素时,它会在所有行中更改。