无法使用循环迭代重置嵌套布尔列表?

时间:2018-03-28 22:10:38

标签: python list

一旦在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[:]。问题仍然存在,我无法解决原因。

0 个答案:

没有答案