如何将字典键与值的总和合并?
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))
我有 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))