将一个嵌套字典的值更新为另一个具有字典列表的值

Updating values of one nested dictionary to another having list of dictionaries

假设我们有两个嵌套字典:

dict1={'s1':{'A':{'C':'3','D':'4'},'B':{'E':'5','F':'6'}}}

dict2 = {'s1':[{'C':'3a','D':'4a'},{'C':'3b','D':'4b'}], 'B': {'E':'5a','F':'6a'}}

我可以根据值为 dict2 的键替换 dict1 中的值

dict1['E']=dict2['E']

这将导致 ..

dict1={'s1':{'A':{'C':'3','D':'4'},'B':{'E':'5a','F':'6'}}}

现在 我想在 dict1 中查找 C 和 D,并替换为 dict2 中的 C 和 D 列表 输出应该是这样的:

dict1={'s1':{'A':[{'C':'3a','D':'4a'},{'C':'3b','D':'4b'}],'B':{'E':'5a','F':'6'}}}

不影响字典 1 中的原始键 A 和 B 我们还可以创建一个新的字典复制 dict1 并进行修改.. 但 dict1 的结构应该保持不变

可能是你没写好dict2,既不是字典也不是集合。也许这(dict2={'s1':[{'C':'3a','D':'4a'},{'C':'3b','D':'4b'}], 'B': {'E':'5a','F':'6a'}})就是你的意思。

如果这个假设是正确的,你可以这样改变dict1中键A的值:

dict1['s1']['A'] = dict2['s1']
print(dict1)

Result

{'s1': {'A': [{'C': '3a', 'D': '4a'}, {'C': '3b', 'D': '4b'}], 'B': {'E': '5', 'F': '6'}}}