Python - 如何将 ImmutableDict 复制到可变字典?
Python - How to copy a ImmutableDict to a mutable dict?
我正在尝试在字典上进行硬拷贝以避免修改原始字典的值。
这是我的代码:
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
。
如果确实需要复制使用
d2 = {**d1}
我正在尝试在字典上进行硬拷贝以避免修改原始字典的值。
这是我的代码:
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
。
如果确实需要复制使用 d2 = {**d1}