我不太清楚怎么解释,我有两本字典,我知道怎么把它们放在一起,举个例子:
dict1 = {'machine': {'ip': '123', 'name': 'example', 'disks': {} }, 'machine2': {'ip': '1234', 'name': 'example2', 'disks': {} }}
dict2 = {'machine': {'disk1': {'name': 'exampledisk', 'capacity': '123'}}}
为了把两个字典放在一起,我用这个:
for key, value in dict1.items():
try:
value.update(dict2[key])
except KeyError:
continue
但结果是这样的:
{'machine': {'ip': '123', 'name': 'example', 'disks': {}, 'disk1'{'name': 'exampledisk', 'capacity': '123'} }}
我想将这些磁盘的数据放在“磁盘”键中,以接收如下内容:
dict = {'machine': {'ip': '123', 'name': 'example', 'disks': {'disk1':{'name': 'exampledisk', 'capacity': '123'}, 'disk2': .... etc} }}
答案 0 :(得分:1)
您需要更新值中嵌套的 disks
字典:
for key, value in dict1.items():
try:
value['disks'].update(dict2[key])
except KeyError:
continue
显然,这是一个非常具体的更新,假设 dict2
中的所有条目都是磁盘。更通用的更新方式需要知道 dict2
中的哪些键与 dict1
中的嵌套字典相对应。