在python中将dict2添加到dict1

2024-03-28 14:57:44 发布

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

假设我有两个嵌套的dict。你知道吗

dict1 = {"good authors": {"john" : {}, "jack" : {}}, "average authors" : {"kim" : {}, "peter" : {}} }

那么

dict2 = {"john" : {{"2008" : "book1"}, {"2009" : "book2"}}, "peter" : {{"2008" : "book3"}, {"2009" : "book4"}}}

如何将dict2递归地添加到dict1?你知道吗

结果应该如下所示:

{"good authors": {"john" : {{"2008" : "book1"}, {"2009" : "book2"}}, "jack" : {}}, "average authors" : {"kim" : {}, "peter" : {{"2008" : "book3"}, {"2009" : "book4"}}} }

Tags: johnauthorsdictpetergoodaveragejackkim
1条回答
网友
1楼 · 发布于 2024-03-28 14:57:44

首先,您可能需要list作为dict2中的值。你知道吗

我试过用这个

>>> dict1 = {"good authors": {"john" : {}, "jack" : {}}, "average authors" : {"kim" : {}, "peter" : {}} }

>>> dict2 = {"john" : [{"2008" : "book1"}, {"2009" : "book2"}], "peter" : [{"2008" : "book3"}, {"2009" : "book4"}]}
>>> for key, value in dict1.items():
...     for dict2key, dict2value in dict2.items():
...         if dict2key in value:
...             value[dict2key] = dict2value
...
>>> dict2
{'john': [{'2008': 'book1'}, {'2009': 'book2'}], 'peter': [{'2008': 'book3'}, {'2009': 'book4'}]}

希望这有帮助

相关问题 更多 >