对列表中的元素求和
问题描述
这是我的代码,我需要对列表中未定义数量的元素求和.如何做到这一点?
l = raw_input()l = l.split(' ')l.pop(0)
我的输入:3 5 4 9
输入后,我通过 l.pop(0)
删除第一个元素.在 .split(' ')
我的列表是 ['5', '4', '9']
之后,我需要对这个列表中的所有元素求和.p>
在这种情况下,总和为 18.请注意,未定义元素的数量.
解决方案您可以简单地使用 sum() 内置:
sum(your_list)
它将汇总您拥有的尽可能多的数字项.示例:
my_list = range(10, 17)我的清单[10、11、12、13、14、15、16]总和(我的列表)91
针对您的具体情况:
对于您的数据,首先将数字转换为 int
,然后将数字相加:
数据 = ['5', '4', '9']sum(int(i) for i in data)18
这适用于列表中未定义数量的元素(只要它们是数字")
感谢@senderle 的注释重新转换,以防数据为字符串格式.
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 input: 3 5 4 9
After input I delete first element via l.pop(0)
.
After .split(' ')
my list is ['5', '4', '9']
and I need to sum all elements in this list.
In this case the sum is 18. Please notice that number of elements is not defined.
解决方案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.
相关文章