0
我正在制作一个程序,用于执行一些操作,如添加,插入,弹出列表中的数字。 我还必须做一个“撤消”功能,为此,我想在列表中列出一个列表来保存列表中的每一步,但我的测试无法正常工作。下面的代码:列表中的Python列表撤消
def backup(l):
lbackup.append(list(l))
< - 在这里我保存该列表中的每一步,通过调用这个函数
> def undo(l):
> l=lbackup[len(lbackup)-1] # here I give my list the previous list
> del lbackup[len(lbackup)-1] # here I delete the sublist from the history
我的测试:
def testUndo():
add(lista, 1)
backup(lista)
add(lista, 2)
backup(lista)
add(lista,111111)
print(lbackup)
print(lista)
undo(lista)
print(lista)
print(lbackup)
于是我查了一下里面的撤销功能,它的工作!它实际上将我的列表的值改变为我想要的值,但是一旦它离开函数并在测试中撤消之后到达打印结果......它又具有相同的值。我知道列表是可变的,这可能是一个问题,但有什么我可以做的吗?对不起,如果我不够干净。
Ooooh它工作^ _ ^非常感谢! – Katie44 2014-10-18 21:51:23