python - 在字典中乘以键*值?

标签 python

a = {2: 4, 3: 2, 5: 1, 7: 1}

键代表素数;这些值代表计数器。我想通过遍历字典键*值并对总数求和来计算你得到的数字。执行此操作的最 Pythonic 方法是什么?

>>> [k*v for k,v in a.items()]
[8, 6, 5, 7]

但是

>>> sum(k*v for k,v in a.items())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable

最佳答案

这样:

sum(k*v for k,v in a.items())

或使用语义命名:

sum(p*c for p,c in primesToCounts.items())

关于python - 在字典中乘以键*值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10865979/

相关文章:

javascript - 面临有关填充 javascript 数组的问题

python - 向 Buildbot 添加自定义功能

python - 添加字典而不是覆盖 - defaultdict

python - 向量化搜索排序 numpy

python - 函数需要太多时间来处理来自数据库的循环(3000 次)

python - 获取DataFrame索引列的值

python - @staticmethod 和@classmethod 的区别

python - cx_Oracle pip 安装失败 : oci. h: 没有那个文件或目录

python - 如何将 python 中的字典应用于字符串而不是单个字母

python - 服务器端使用 Python 在 Google Application Engine 上将 SVG 转换为 PNG 或 JPG 图像