这里是我的代码,我需要总结列表中的元素的未定义的数字。 这该怎么做?
l = raw_input()
l = l.split(' ')
l.pop(0)
我的输入: 3 5 4 9
输入之后我通过删除第一元件l.pop(0)
后.split(' ')
我的列表是['5', '4', '9']
和我需要总结在此列表中的所有元素。
在这种情况下的总和为18。请注意没有被定义的元素该号码。
这里是我的代码,我需要总结列表中的元素的未定义的数字。 这该怎么做?
l = raw_input()
l = l.split(' ')
l.pop(0)
我的输入: 3 5 4 9
输入之后我通过删除第一元件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的重新转换的情况下,注释的数据是字符串格式。
>>> 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
蟒迭代可以概括像这样- [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
功能和内置蟒sum()
函数。 它简化了解决方案。 并降低了复杂性。
a=map(int,raw_input().split())
sum(a)
完成!
def sumoflist(l):
total = 0
for i in l:
total +=i
return total
你也可以用减少方法:
>>> myList = [3, 5, 4, 9]
>>> myTotal = reduce(lambda x,y: x+y, myList)
>>> myTotal
21
此外,您可以修改lambda函数做你的名单上的其他操作。