在列表中列出元素

这是我的代码,我需要在列表中总结一个未定义数量的元素。 这个怎么做?

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

我的input: 3 5 4 9input后,我通过l.pop(0)删除第一个元素。 之后.split(' ')我的列表是['5', '4', '9'] ,我需要总结列表中的所有元素。

在这种情况下,总和是18.请注意,没有定义元素的数量。

您可以简单地使用内置的sum()将数字求和 :

 sum(your_list) 

它将总结尽可能多的数量项目,你有。 例:

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

对于您的具体情况

为了您的数据将数字转换为int ,然后总结数字:

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

这将工作在您的列表中的元素数量不确定 (只要他们是“数字”)

谢谢@ senderle的评论重新转换的情况下,数据是string格式。

 >>> 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 

Python迭代可以像这样求和 – [sum(range(10)[1:])] 。 除了第一个元素外,它将从列表中总结所有元素。

 >>> atuple = (1,2,3,4,5) >>> sum(atuple) 15 >>> alist = [1,2,3,4,5] >>> sum(alist) 15 

你可以使用sum来求和一个列表的元素,但是如果你的列表来自raw_input ,那么你可能首先要把这些项目转换成intfloat

 l = raw_input().split(' ') sum(map(int, l)) 

你可以使用map函数和python的内置sum()函数。 它简化了解决scheme。 并降低复杂性。
a=map(int,raw_input().split())
sum(a)
完成!