如何从字典的值向现有字典添加顶层,从而使其嵌套?

2024-03-28 09:04:33 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在创建嵌套字典的同时将现有键用作生成的嵌套字典顶层的键,从而将一个字典添加到另一个字典

假设我有这样的东西:

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在现有字典中添加新的顶层

谢谢


Tags: keyid字典方式updatedictfinalkey2
2条回答

最直接的方法如下:

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

或者一次添加一个:

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

您可以使用dict将元组列表合并在一起。 考虑到这一点,您可以使用zip+dict

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


outer_keys = ['id1', 'id2'];
dicts = [dict1, dict2]

d = dict(zip(outer_keys, dicts))
print(dict(d))

相关问题 更多 >