从列表中删除元素,而其他列表不会重置

时间:2016-12-20 15:12:25

标签: python list element clear

我目前仍然遇到这个问题,所以我有这个代码。

     rij1 = rij2
     rij2.clear()

一切正常,但在循环结束时是个问题。 Rij1也被清除了,因为很明显,python记得rij1 = rij2 有什么方法可以阻止这种情况吗?

2 个答案:

答案 0 :(得分:2)

rij1 = rij2list的相同引用存储在rij2rij1。要存储新的列表副本,您应该:

rij1 = rij2[:]

# OR
rij1 = list(rij2)

此外,您可以使用copy.copy创建list的浅拷贝:

from copy import copy

rij1 = copy(rij2)

答案 1 :(得分:1)

您需要制作列表的副本。在rij1 = rij2之后,两个变量都是同一列表的名称。

这样的东西
rij1 = rij2[:]

会奏效。