更新字典中的某些键

Aldegalan

我不太清楚如何解释它,我有两个字典,我知道如何将它们放在一起,下面是一个示例:

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'} }}

我想将这些磁盘的数据放入“ disk”键中,以接收如下信息:

dict = {'machine': {'ip': '123', 'name': 'example', 'disks': {'disk1':{'name': 'exampledisk', 'capacity': '123'}, 'disk2': .... etc} }}
姆霍克

您需要disks在值内更新嵌套字典:

for key, value in dict1.items():
    try:
        value['disks'].update(dict2[key])
    except KeyError:
        continue

显然,这是一个非常特定的更新,假设其中的所有条目dict2都是磁盘。一种更通用的更新方法将需要知道哪些键dict2与中的嵌套字典相对应dict1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章