存储在元组中的元素总数
问题内容:
给定一个包含一堆整数元素的元组,一个人怎么能找到所有元素的总和?
例如,如果我有一个元组列表:
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]
或者,您可以像这样使用列表理解
>>> [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中给出一个列表。