python - 字典中所有列表位置的总和

标签 python list-comprehension

这是我想分享的一个问题和答案,因为我发现它非常有用。 假设我有一本可以使用不同键访问的字典。在字典的每个位置我都有一个固定长度的列表:

a={}
a["hello"]=[2,3,4]
a["bye"]=[0,10,100]
a["goodbye"]=[2,5,50]

我有兴趣仅使用各自列表的位置 1 来计算 a 中所有条目的总和。 在这个例子中,我想总结:

finalsum=sum([3,10,5]) #-----> 18

最佳答案

完全跳过这些键,因为它们并不重要。

sum(i[1] for i in a.itervalues())

另外,当迭代字典时,您不需要执行 a.keys() ,您只需说 for key in a ,它就会使用这些键。

您可以使用a.values()来获取dict中所有值的列表。据我所知, key 无关紧要。 a.itervalues() 通过迭代而不是构造新列表来工作。通过使用它以及生成器表达式作为 sum 的参数,不会创建无关的列表。

关于python - 字典中所有列表位置的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16751904/

相关文章:

python - __getattribute__ 和 obj.__dict__ ['x' ] 在 python 中的区别?

python - 如何在 Sublime Text 2 中运行当前行(不是整个文件)?

haskell - Haskell 列表的嵌套笛卡尔积

python - 如何在 python 中使用列表理解从列表中获取元组

python - 如何在 TensorFlow 中计算张量的加权和?

python - 使用字典替换 Pandas 列中字符串中的字符串

python - 如何设置pip环境路径?

python - 用随机数填充 Excel 单元格

python - Python中另一个列表的子字符串过滤器列表元素

python - 将列表 A 中的项目追加到列表 B(如果列表 B 中尚未包含这些项目)