我已经苦苦挣扎了好几个小时,试图弄清楚为什么我在我的应用程序中不断得到非常奇怪的结果。当他们当然不应该这样做时,事情就一直在“开启”。我将其缩小到与以下非常相似的代码段:
test=[[False]*28]*24
print(test[5][7])
print(test[6][7])
test[5][7]=True
print(test[5][7])
print(test[6][7])
在这种特殊情况下,我只想更改第 5 个索引的第 7 个索引的值,但是,其他各种索引也会发生变化。运行它会让我:
错误的
错误的
真的
真的
虽然我希望得到:
错误的
错误的
真的
错误的
有人明白为什么会这样吗?我忽略了什么吗?它与我如何初始化我的列表有关吗?我真的只想要一个 24*28 的列表,里面装满bools = False
.