我想尝试从列表中删除元素而不影响之前的列表。
这将为您提供更好的图片:
>>> list_one = [1,2,3,4]
>>> list_two = list_one
>>> list_two.remove(2)
>>> list_two
[1, 3, 4]
>>> list_one # <- How do I not affect this list?
[1, 3, 4]
此问题是否有解决方法?
答案 0 :(得分:3)
您需要list_two
list_one
的副本,而不是对它的引用:
>>> list_one = [1,2,3,4]
>>> list_two = list_one[:]
>>> list_two.remove(2)
>>> list_two
[1, 3, 4]
>>> list_one
[1, 2, 3, 4]
>>>
在[:]
之后放置list_one
会创建列表的浅表副本。