在列表中列出元素
这是我的代码,我需要在列表中总结一个未定义数量的元素。 这个怎么做?
l = raw_input() l = l.split(' ') l.pop(0)
我的input: 3 5 4 9
input后,我通过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
,那么你可能首先要把这些项目转换成int
或float
:
l = raw_input().split(' ') sum(map(int, l))
你可以使用map
函数和python的内置sum()
函数。 它简化了解决scheme。 并降低复杂性。
a=map(int,raw_input().split())
sum(a)
完成!