总结列表中的元素

tre*_*eng 63 python sum list

这是我的代码,我需要在列表中总结一些未定义的元素.这该怎么做?

l = raw_input()
l = l.split(' ')
l.pop(0)
Run Code Online (Sandbox Code Playgroud)

我的输入:3 5 4 9 输入后我删除了第一个元素l.pop(0).在.split(' ')我的列表之后['5', '4', '9'],我需要汇总此列表中的所有元素.

在这种情况下,总和为18.请注意,未定义元素数量.

Lev*_*von 150

您可以使用内置的sum()简单地对列表中的数字求和:

sum(your_list)
Run Code Online (Sandbox Code Playgroud)

它将为您提供尽可能多的数量项.例:

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

sum(my_list)
91
Run Code Online (Sandbox Code Playgroud)

对于您的具体情况:

对于您的数据,首先将数字转换为数字int,然后将数字相加:

data = ['5', '4', '9']

sum(int(i) for i in data)
18
Run Code Online (Sandbox Code Playgroud)

这将适用于列表中未定义数量的元素(只要它们是"数字")

感谢@ senderle的评论转换,以防数据采用字符串格式.


Ash*_*ary 7

>>> 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
Run Code Online (Sandbox Code Playgroud)


Sri*_*aju 5

Python iterable可以这样求和 - [sum(range(10)[1:])].除了第一个元素之外,它还对列表中的所有元素求和.

>>> atuple = (1,2,3,4,5)
>>> sum(atuple)
15
>>> alist = [1,2,3,4,5]
>>> sum(alist)
15
Run Code Online (Sandbox Code Playgroud)


小智 5

您还可以使用 reduce 方法:

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

此外,您可以修改 lambda 函数以执行列表中的其他操作。


归档时间:

查看次数:

291362 次

最近记录:

7 年,2 月 前