给定一个包含一堆整数元素的元组,如何找到所有元素的总和?
例如,如果我有一个元组列表:
li = [(1, 2), (1, 3), (2, 3)]
我怎样才能得到这样的东西:
[3, 4, 5]
其中3、4、5分别是三个元组的总和?
最佳答案
>>> 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/