for num in range(len(boards)):
boards[num] = boards[num] - move[1]
print(boards)
if xor(boards) == 0:
winningMoves.append((boards[num], move[1]))
基本上我有一堆桩,我正在从中删除东西。但是,每次迭代后,如果列表被更改,则列表保持不变。如何在每次迭代后确保列表恢复原始状态?
答案 0 :(得分:0)
for num in range(len(boards)):
boards[num] = boards[num] - move[1]
if xor(boards) == 0:
winningMoves.append((boards[num], move[1]))
boards[num] = boards[num] + move[1]
在添加数字后,只需将数字添加回列表。无论如何,谢谢你的帮助
答案 1 :(得分:-1)
要重置列表,您必须重新创建它,或将其存储为tmp变量。
在这种情况下,我决定将其存储为tmp变量。
tmpBoard={}
for key in boards.keys():
tmpBoard[key]=boards[key]
for num in range(len(boards)):
boards[num] = boards[num] - move[1]
print(boards)
if xor(boards) == 0:
winningMoves.append((boards[num], move[1]))
borads=tmpBoard #<-- reset list
请注意,之前的回答有错误tmpBoard=boards
,这是错误的,因为在这种情况下,对电路板的更新也会出现在tmpBoard上。在这个替代案例中,tmpBoard不是一个 coy 的板,而是一个新的变量。