python - 存储在元组中的元素总和

标签 python python-2.7

给定一个包含一堆整数元素的元组,如何找到所有元素的总和?

例如,如果我有一个元组列表:

li = [(1, 2), (1, 3), (2, 3)]

我怎样才能得到这样的东西:

[3, 4, 5]

其中3、4、5分别是三个元组的总和?

最佳答案

您可以使用 mapsum像这样的功能

>>> li = [(1, 2), (1, 3), (2, 3)]
>>> map(sum, li)
[3, 4, 5]

或者您可以使用 list comprehension , 像这样

>>> [sum(tup) for tup in li]
[3, 4, 5]

注意:我个人更喜欢列表理解版本,因为map Python 3.x 中的函数将返回一个可迭代的 map 对象,需要将其显式转换为列表,如 list(map(sum, li)).

>>> li = [(1, 2), (1, 3), (2, 3)]
>>> map(sum, li)
<map object at 0x7f3dc25bb0f0>
>>> type(map(sum, li))
<class 'map'>
>>> list(map(sum, li))
[3, 4, 5]

但是列表理解将在 Python 2.x 和 Python 3.x 中给出一个列表。

关于python - 存储在元组中的元素总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29471260/

相关文章:

python - 如何在Python3中沿着第三维堆叠两个以上的numpy图像数组

python - 为什么 mypy 常见问题解答提到性能影响?

python - 我如何捕获/排除 Django 的注册错误?

python - 为什么运行 Flask 开发服务器会自行运行两次?

python - 确定 NxN 数组的行和列中的最低值

python - Pyramid -灰鲭鲨 : Escape HTML partially

python - 许多二维点之间的最短路径(Shapely LineString 中的旅行商?)

python - 如何在 Odoo 中预先获取表单中的默认字段值?

python - 我如何确定具体从 PyQt4 导入什么?

python - 从 numpy 制作数据框 - 为什么列是混合的?