我想按位置匯總所有值。
例如,給定:
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)
我怎樣才能做到這一點?
uj5u.com熱心網友回復:
我們可以zip(*data.values())轉置字典中的值,然后我們可以使用sum()和串列推導來獲得最終結果:
[sum(val) for val in zip(*data.values())]
這輸出:
[5, 10, 6]
請注意,我使用data而不是dict作為變數名,因為后者是內置的名稱。另請注意,這依賴于字典保留插入順序的事實,這僅在 Python 3.7 上是正確的。
uj5u.com熱心網友回復:
遍歷字典 d 中的所有鍵 k,并且對于每個 k,將 3 元組 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))
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/463377.html
上一篇:如何回傳總和的最大值?
