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}