首页 > 解决方案 > 如何从字典的值向现有字典添加顶层并使其嵌套?

问题描述

如何通过创建嵌套字典同时使用现有键作为生成的嵌套字典顶层的键,将一个字典添加到另一个字典?

假设我有这样的事情:

dict1 = {'key1': 11, 'key2': 12, 'key_id':, 'id1'}
dict2 = {'key1': 21, 'key2': 22, 'key_id':, 'id2'}

我想最终得到类似的东西

dict_final = {'id1':{'key1': 11, 'key2': 12, 'key_id':, 'id1'}, 'id2': {'key1': 21, 'key2': 22, 'key_id':, 'id2'}}

dict1.update(dict2)只会覆盖 dict1 中的值;如何告诉 python 在现有字典中添加新的顶级?

谢谢!

标签: pythondictionarynested

解决方案


最直接的方法是这样的:

dict_final = {
    dict1["key_id"]: dict1,
    dict2["key_id"]: dict2,
}

或者一次添加一个:

dict_final = {}
dict_final[dict1["key_id"]] = dict1
dict_final[dict2["key_id"]] = dict2

推荐阅读