如何将两个包含字典的列表与相似的键组合?

Fai*_*rbw 3 python dictionary list

假设有两个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}]
Run Code Online (Sandbox Code Playgroud)

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

result = [{'a':4,'b':4},{'c':3,'d':10,'h':8},{'c':7,'d':10,'e':8}]
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

sch*_*ggl 5

zip基于单线理解:

result = [{k: d1[k]+d2[k] for k in d1} for d1, d2 in zip(var1, var2)]
Run Code Online (Sandbox Code Playgroud)

这假设dicts在同一索引处的两个总是具有相同的密钥集.