這個問題在這里已經有了答案: 如何克隆串列以使其在分配后不會意外更改? (21 個回答) 9 小時前關閉。
我嘗試用舊串列的變數保存一個新串列,然后 .pop() 新串列中的最后一項,而不影響舊串列。
new = ['Bram', 'Glenn', 'Menno']
old = ['Glenn', 'Menno', 'Eefke Maria']
print('new1', new)
print('old1', old)
new = old
print('new2', new)
print('old2', old)
new.pop()
print('new3', new)
print('old3', old)
這給出了輸出:
new1 ['Bram', 'Glenn', 'Menno']
old1 ['Glenn', 'Menno', 'Eefke Maria']
new2 ['Glenn', 'Menno', 'Eefke Maria']
old2 ['Glenn', 'Menno', 'Eefke Maria']
new3 ['Glenn', 'Menno']
old3 ['Glenn', 'Menno']
但我想要輸出:
new1 ['Bram', 'Glenn', 'Menno']
old1 ['Glenn', 'Menno', 'Eefke Maria']
new2 ['Glenn', 'Menno', 'Eefke Maria']
old2 ['Glenn', 'Menno', 'Eefke Maria']
new3 ['Glenn', 'Menno']
old3 ['Glenn', 'Menno', 'Eefke Maria']
這是我存盤串列變數的方式嗎?
uj5u.com熱心網友回復:
您需要copy為您的串列創建一個檢查此答案以獲取更多資訊https://stackoverflow.com/a/2612815/18317391:
new = old.copy()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505414.html
上一篇:簡潔地將一個串列包裝在一個可呼叫物件中,該可呼叫物件按順序為每個連續呼叫回傳每個串列元素
下一篇:從串列中洗掉重復項
