问题描述
说我们有两个嵌套的字典:
dict1={'s1':{'A':{'C':'3','D':'4'},'B':{'E':'5','F':'6'}}}
dict2={'s1': [{'C':'3a','D':'4a'},{'C':'3b','D':'4b'}],{'E':'5a','F':'6a'}}}
我可以基于dict2将键中的dict1中的值替换为值
dict1['E']=dict2['E']
这将导致..
dict1={'s1':{'A':{'C':'3','B':{'E':'5a','F':'6'}}}
现在,我想在dict1中找到C和D,并替换为dict2中的C和D列表 输出应为:
dict1={'s1':{'A':[{'C':'3a','F':'6'}}}
不影响dict 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)
结果
{'s1': {'A': [{'C': '3a','D': '4a'},{'C': '3b','D': '4b'}],'B': {'E': '5','F': '6'}}}