我目前仍然遇到这个问题,所以我有这个代码。
rij1 = rij2
rij2.clear()
一切正常,但在循环结束时是个问题。 Rij1也被清除了,因为很明显,python记得rij1 = rij2 有什么方法可以阻止这种情况吗?
答案 0 :(得分:2)
rij1 = rij2
将list
的相同引用存储在rij2
到rij1
。要存储新的列表副本,您应该:
rij1 = rij2[:]
# OR
rij1 = list(rij2)
此外,您可以使用copy.copy
创建list
的浅拷贝:
from copy import copy
rij1 = copy(rij2)
答案 1 :(得分:1)
您需要制作列表的副本。在rij1 = rij2
之后,两个变量都是同一列表的名称。
像
这样的东西rij1 = rij2[:]
会奏效。