我正在制作一个程序,它将执行一些操作,如添加、插入、弹出一个数字列表。 我还需要做一个“撤消”函数,为此我考虑在列表中列出一个列表,以便在每一步中保存我的列表,但是我的测试不起作用。代码如下:
def backup(l):
lbackup.append(list(l))
<;--在这里,我通过调用此函数保存每一步的列表
^{pr2}$我的测试:
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)
所以我检查了Undo函数的内部,它工作了!它实际上把我的列表的值改成了我想要的值,但是一旦它离开函数,在测试中撤消后得到打印。。。它又有相同的值。我知道列表是可变的,这可能是个问题,但我能做些什么吗?对不起,如果我不够干净的话。在
当您调用}相同,但是分配给}。如果您改为使用
undo(lista)
时,undo
中的l
可能与{l
不会改变{undo
返回l
,并将undo
返回的值赋给list
,那么这将使您看起来想要进行更改。在相关问题 更多 >
编程相关推荐