您可以使用map与operator.add:
>>> from operator import add
>>> map(add,*dict1.values())
[3,7]
>>> map(add,*dict2.values())
[4,10]
或者如果您不想导入任何内容,则使用列表理解为zip:
>>> [sum(x) for x in zip(*dict1.values())]
[3,7]
>>> [sum(x) for x in zip(*dict2.values())]
[4,10]
更新:
def func(dic,*keys):
return [sum(x) for x in zip(*(dic[k] for k in keys))]
>>> dict1 = {'a': [0,5],'c':[6,7,8]}
>>> func(dict1,'a')
[0,2]
>>> func(dict1,'a','b')
[3,7]
>>> func(dict1,'b','c')
[9,11,13]
>>> func(dict1,'c','a')
[9,12,15]