Sum of elements stored inside a tuple

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.


You could use list comprehension.

>>> li = [(1, 2), (1, 3), (2, 3)]
>>> [x+y for (x,y) in li]
[3, 4, 5]

Both solutions below will work.

li = [(1, 2), (1, 3), (2, 3)]
print([sum(i) for i in li])

or

def sumtupleinlist(lst):
    return [sum(i) for i in lst]
li = [(1, 2), (1, 3), (2, 3)]

To test the function, run :

print(sumtupleinlist(li))