Sum of elements stored inside a tuple
问题内容:
Given a tuple containing a bunch of integer elements, how can one find the sum
of all the elements?
For example, if I have a list of tuples:
li = [(1, 2), (1, 3), (2, 3)]
How can I get something like this:
[3, 4, 5]
where 3, 4 and 5 is the total sum of each of the three tuples respectively?
问题答案:
You can use map
and
sum
function like
this
>>> li = [(1, 2), (1, 3), (2, 3)]
>>> map(sum, li)
[3, 4, 5]
Alternatively you can use list
comprehension, like this
>>> [sum(tup) for tup in li]
[3, 4, 5]
Note: I personally prefer the list comprehension version, because
map
function in
Python 3.x will return an iterable map
object, which needs to be explicitly
converted to a list, like this 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]
But list comprehension will give a list in both Python 2.x and Python 3.x.