如何将键1的值添加到字典中的另一个键中以建立数组?

问题描述

例如,我有一个字典1:

dict1 = {"a":[0,1,3,6],"b":[1,4,6,0],"c":[4,7,8,9]}

我想创建一个像这样的新数组:

array = [5,10,13,6]

新数组中的每个索引是字典中每个键中相同位置的总和。

解决方法

使用zip()是匹配此类项目的常规方法。但是,zip()将在您压缩的最短元素处停止,因此您将无法获得所需的所有值。为此,您可以将itertools.zip_longest()fillvalue0结合使用:

from itertools import zip_longest

dict1 = {"a":[0,1,3,6],"b":[1,4,6,0],"c":[4,7,8,9]}

[sum(nums) for nums in zip_longest(*dict1.values(),fillvalue=0)]
# [5,10,13,6]