一旦在for循环中达到某个条件,我希望能够将布尔值列表的嵌套列表重置为特定配置。
所以在我的程序开始时,我按如下方式定义列表:
g = [[True,True,False,False,False],[True,False,False,False,False],[False,False,False,False,False],[False,False,False,False,False],[False,False,False,False,False]]
然后我有一个for循环:
for i in range(10):
row = random.randrange(5)
col = random.randrange(5)
print str(col) + "\t" + str(row)
gridC = doMove(gridC,col,row)
s += str(col + 1) + "\t" + str(row + 1) + "\n"
for i in gridC:
print i
if isFound(gridC[:]):
found = True
break
else:
s = ""
gridC = g[:]
如果gridC
中的所有值都为false,则循环终止。但是,当我尝试将gridC
重置为g[:]
时,它会保留在循环的先前迭代中更改的内存。我无法通过任何方式将其每次都可靠地重置为正确的配置。
编辑注意:我知道解释复制列表的线程,但正如您在for循环的底部所看到的,我已经尝试使用gridC = g[:]
。问题仍然存在,我无法解决原因。