Sum of elements stored inside a tuple

后端 未结 5 679
小蘑菇
小蘑菇 2021-01-12 03:48

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         


        
相关标签:
5条回答
  • 2021-01-12 04:00

    You could use list comprehension.

    >>> li = [(1, 2), (1, 3), (2, 3)]
    >>> [x+y for (x,y) in li]
    [3, 4, 5]
    
    0 讨论(0)
  • 2021-01-12 04:00

    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))
    
    0 讨论(0)
  • 2021-01-12 04:01

    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.

    0 讨论(0)
  • 2021-01-12 04:18
    ls= [(1,2), (3,4)]
    finallist = []
    for tuple in ls:
         listt = list(tuple)
         summ = 0
         for m in listt:
             summ+=m
         finallist.append(summ)
    print(finallist) #[3,7]
    
    0 讨论(0)
  • 2021-01-12 04:23

    For beginner:

    1. Create result variable which type is list.
    2. Iterate every item from the give list by for loop.
    3. As every item is tuple so again iterate item from the step 2 and set sum of item to 0.
    4. Add sum.
    5. 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]
    

    0 讨论(0)
提交回复
热议问题