在Python的列表中使用remove,pop,del的问题

时间:2018-10-02 03:51:28

标签: python list function

a = [10, 12, 14]
b = a
b.remove(12) 
print(a)
print(b)

结果是:

[10, 14]
[10, 14]

当我使用pop,del函数时结果相同

从(a.remove,a.pop,del a)删除时也是如此

我想要的是(例如断开连接):

[10, 12, 14]
[10, 14]

似乎remove函数也删除了原始列表中的元素

1 个答案:

答案 0 :(得分:1)

您想要的是引用ab副本,而不是相同的列表,因此只需复制它即可:

from copy import copy
a = [10, 12, 14]
b = copy(a)
b.remove(12) 
print(a)
print(b)

[10, 12, 14]
[10, 14]

这里有live example