更新Python字典而不覆盖子字典的通用方法[重复]

2024-06-22

是否有任何通用方法可以更新 python 字典而不覆盖子字典。 字典是动态生成的,因此无法提前预测级别、深度或子密钥。

考虑以下两个字典是动态生成的 -

d1 = {'a' : { 'b' : 'c'} }
d2 = {'a' : { 'd' : 'e'} }

如果我调用更新函数,结果将是这样的 d1.更新(d2) 打印 d1

Result =

{'a': {'d': 'e'}}

预期结果 =

{'a': {'b': 'c', 'd': 'e'}}

以上词典仅作为示例。字典可以是动态生成的任何级别。因此,请提供 python 的内置函数(如果有)..或其他方式。


def update(d1,d2):
    c = d1.copy()
    for key in d2:
        if key in d1:c[key].update(d2[key])
        else:c[key] = d2[key]
    return c
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更新Python字典而不覆盖子字典的通用方法[重复] 的相关文章

随机推荐