Python - 如何将 ImmutableDict 复制到可变字典?

我正在尝试在字典上进行硬拷贝以避免修改原始字典的值。

这是我的代码:

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/

相关文章:

r - 使用ggsave时遇到 "Error: $ operator is invalid for

rust - 改变 HashMap> 中的向量元素

postgresql - 使用 SymmetricDS 的主动-主动 PostgreSQL 配置

java - 在 JPA 存储库中连接两个表

arrays - 谷歌表 : How to find the length of array?

r - 从类(class)列表中查找当前事件条目

flutter - 未处理的异常 : type '_InternalLinkedHashMap

javascript - TypeScript 和文件上传类型

algorithm - 如果一个节点等于二叉搜索树中的父节点,我们将它放在哪一边

rust - 为什么 Rust 中原始类型之间没有隐式类型转换(强制转换)