如何将两个包含字典的列表与类似的键组合在一起?

假设有两个
python列表具有相同的结构,如下所示:

var1 = [{'a':1,'b':2},{'c':2,'d':5,'h':4},{'c':2,'d':5,'e':4}]
var2 = [{'a':3,'b':2},{'c':1,'d':5,'h':4},{'c':5,'d':5,'e':4}]

在我的情况下,我需要结合这两个列表,所以我会得到这个值:

result = [{'a':4,'b':4},{'c':3,'d':10,'h':8},{'c':7,'d':10,'e':8}]

我怎样才能做到这一点?

最佳答案 基于
zip的单线理解:

result = [{k: d1[k]+d2[k] for k in d1} for d1, d2 in zip(var1, var2)]

这假设同一索引处的两个dicts始终具有相同的密钥集.

点赞