如何将字典键与值的总和合并?

How to merge dict keys with sum of values?

我有 3 个听写

d1 = {"a":[1], "b":[2]}
d2 = {"b":[3], "d":[1]}
d3 = {"a":[4], "d":[2], "c":[3]}

我们如何合并字典,使键保持不变,值将是列表的总和?

输出

output = {"a":5, "b":5, "c":3, "d":3}

这使用字典来存储部分和。

d1 = {"a": [1], "b": [2]}
d2 = {"b": [3], "d": [1]}
d3 = {"a": [4], "d": [2], "c": [3]}


def dict_sum(*dicts):
    merged = {}

    for d in dicts:
        for k, v in d.items():
            merged[k] = merged.setdefault(k, 0) + sum(v)

    return merged


print(dict_sum(d1, d2, d3))