Summing elements in a list

前端 未结 7 740
我在风中等你
我在风中等你 2020-11-30 23:16

Here is my code, I need to sum an undefined number of elements in the list. How to do this?

l = raw_input()
l = l.split(\' \')
l.pop(0)

My

相关标签:
7条回答
  • 2020-12-01 00:03

    You can use sum to sum the elements of a list, however if your list is coming from raw_input, you probably want to convert the items to int or float first:

    l = raw_input().split(' ')
    sum(map(int, l))
    
    0 讨论(0)
  • 2020-12-01 00:04

    Python iterable can be summed like so - [sum(range(10)[1:])] . This sums all elements from the list except the first element.

    >>> atuple = (1,2,3,4,5)
    >>> sum(atuple)
    15
    >>> alist = [1,2,3,4,5]
    >>> sum(alist)
    15
    
    0 讨论(0)
  • 2020-12-01 00:04
    def sumoflist(l):    
        total = 0    
        for i in l:
            total +=i
        return total
    
    0 讨论(0)
  • 2020-12-01 00:07

    You can also use reduce method:

    >>> myList = [3, 5, 4, 9]
    >>> myTotal = reduce(lambda x,y: x+y, myList)
    >>> myTotal
    21
    

    Furthermore, you can modify the lambda function to do other operations on your list.

    0 讨论(0)
  • 2020-12-01 00:10

    You can sum numbers in a list simply with the sum() built-in:

    sum(your_list)
    

    It will sum as many number items as you have. Example:

    my_list = range(10, 17)
    my_list
    [10, 11, 12, 13, 14, 15, 16]
    
    sum(my_list)
    91
    

    For your specific case:

    For your data convert the numbers into int first and then sum the numbers:

    data = ['5', '4', '9']
    
    sum(int(i) for i in data)
    18
    

    This will work for undefined number of elements in your list (as long as they are "numbers")

    Thanks for @senderle's comment re conversion in case the data is in string format.

    0 讨论(0)
  • 2020-12-01 00:11
    >>> l = raw_input()
    1 2 3 4 5 6 7 8 9 10
    >>> l = l.split()
    >>> l.pop(0)
    '1'
    >>> sum(map(int, l)) #or simply sum(int(x) for x in l) , you've to convert the elements to integer first, before applying sum()
    54
    
    0 讨论(0)
提交回复
热议问题