字典中的按列求和



我要按位置对所有的值求和。

例如:

dict= {"adi":(1,2,4),"simon":(1,7,0),"lus":(3,1,2)}

我想执行以下操作:

(1+1+3,2+7+1,4+0+2)----> (5,10,6)

我怎样才能做到这一点?

我们可以用zip(*data.values())对字典中的值进行转置,然后我们可以使用sum()和列表推导来得到我们的最终结果:

[sum(val) for val in zip(*data.values())]

这个输出:

[5, 10, 6]

注意,我使用data而不是dict作为变量名,因为后者是内置的名称。还要注意,这依赖于字典保留插入顺序的事实,这只在Python 3.7+上成立。

遍历字典d中的所有键k,对于每个k,将三元组d[k]添加到当前的和res:

d = {"adi":(1,2,4),"simon":(1,7,0),"lus":(3,1,2)}
res = [0,0,0]
for k in d:
res = [res[i] + d[k][i] for i in range(3)]
print(tuple(res))

相关内容

  • 没有找到相关文章

最新更新