python - 将键值对添加到嵌套字典

标签 python python-3.x dictionary

这个问题在这里已经有了答案:





Why does updating one dictionary object affect other?

(1 个回答)


3年前关闭。




我在将键值对添加到嵌套字典时遇到了一些麻烦。新对似乎被添加到外部字典中的所有条目中,而不仅仅是我想要的嵌套字典。

下面是一个例子:

mykeys = ['key1', 'key2', 'key3']
mydictionary = dict.fromkeys(mykeys, {})
mydictionary['key1']['subkey1'] = 'value1'
mydictionary

我期待看到以下内容,仅将“subkey1”添加到“key1”字典中:
{'key1': {'subkey1': 'value1'},
 'key2': {},
 'key3': {}}

相反,它将 subkey1/value1 对添加到外部字典的每个元素中:
{'key1': {'subkey1': 'value1'},
 'key2': {'subkey1': 'value1'},
 'key3': {'subkey1': 'value1'}}

为什么会这样,我该如何重写代码来修复这个错误?

最佳答案

mydictionary['key1'] = {'subkey1': 'value1'}

关于python - 将键值对添加到嵌套字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52250121/

相关文章:

json - 需要将目标文件中字典中的值替换为源文件中字典中的值

c# - 使用 LINQ 语法扫描嵌套字典

python - Python 字符串中的百分号 (%) 不带 %%

python - OSX 上预构建的 Python 包

python - 使用标题/列名称使 CSV 文件更容易在 Python 中修改/导航?

python - Python 字典中变量作为值

python-3.x - 为什么当我尝试创建自定义命令行选项时 pytest 给我一个 "unrecognized option"错误?

java - 编译器在收集器 toMap 中给出一般错误

python - 在 Python 中将字符串转换为整数

Python Pandas 从列表中创建多个数据框