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
Solution 1:
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)
<mapobject 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.
Solution 2:
You could use list comprehension.
>>>li = [(1, 2), (1, 3), (2, 3)]>>>[x+y for (x,y) in li]
[3, 4, 5]
Solution 3:
Both solutions below will work.
li = [(1, 2), (1, 3), (2, 3)]
print([sum(i) for i in li])
or
defsumtupleinlist(lst):
return [sum(i) for i in lst]
li = [(1, 2), (1, 3), (2, 3)]
To test the function, run :
print(sumtupleinlist(li))
Solution 4:
For beginner:
- Create result variable which type is list.
- Iterate every item from the give list by
for
loop. - As every item is tuple so again iterate item from the step 2 and set sum of item to 0.
- Add sum.
- Append sum to result variable.
Demo:
>>>li = [(1, 2), (1, 3), (2, 3)] # Given Input>>>result = [] # Step 1>>>for i in li: # Step 2... tmp_sum = 0# Step 3 ...for j in i: # Step 3... tmp_sum += j # Step 4 ... result.append(tmp_sum) # Step 5 ...>>>print result
[3, 4, 5]
Solution 5:
ls= [(1,2), (3,4)]
finallist = []
for tuple inls:
listt = list(tuple)
summ = 0
for m in listt:
summ+=m
finallist.append(summ)
print(finallist) #[3,7]
Post a Comment for "Sum Of Elements Stored Inside A Tuple"