我正在尝试在字典上进行硬拷贝以避免修改原始字典的值。
这是我的代码:
import copy
d1 = {1: 1}
d2 = copy.deepcopy(d1)
d2[1] = None
如果 d1
是一个 ImmutableDict 会怎么样?如何复制一个并允许对其进行修改?
import immutabledict
d1 = immutabledict.immutabledict({1: 1})
d2 = copy.deepcopy(d1)
d2[1] = None # TypeError: 'immutabledict' object does not support item assignment
最佳答案
调用 dict
将创建副本并允许您改变 d2
import immutabledict
d1 = immutabledict.immutabledict({1: 1})
d2 = dict(d1)
d2[1] = None
这会正确更新 d2
并且不会更改 d1
。
https://stackoverflow.com/questions/68156306/