visited = [[False]*4]*4
visited[0][1] = True
print visited
>>> [[False, True, False, False], [False, True, False, False], [False, True, False, False], [False, True, False, False]]
我该如何避免这种情况?
谢谢!
答案 0 :(得分:0)
当您执行[[False]*4]*4
时,您似乎正在创建[False,False,False,False]
列表,然后对该完全相同的列表进行四次引用,而不是四次复制。您可能必须使用for
循环或列表推导来避免这种情况发生。
visited = []
for i in range(4):
falselist = [False]*4
visited.append(falselist)