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