ddd = [[1],[2],[3],[4]]
a1 = {}
a2 = {}
a1[1] = ddd
a2[1] = ddd
for value in a2.values():
value.remove([2])
print(a1)
print(a2)
这时a1的键1的值也被修改了,因为之前赋值的时候实际上是引用,要实现修改a2不修改a1的效果,可以对a1深拷贝,也可以在修改a2的时候不赋值,而是遍历a1的键值对然后通过创建一个临时变量来创建键1的值来筛选,如下:
for key, value in a1.items():
tmp = []
for ele in value:
if ele != [2]:
tmp.append(ele)
a2[key] = tmp