对列表中的元素求和

新手上路,请多包涵

这是我的代码,我需要对列表中未定义数量的元素求和。这个怎么做?

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

我的输入: 3 5 4 9 输入后我通过 l.pop(0) 删除第一个元素。在 .split(' ') 我的列表是 ['5', '4', '9'] 之后,我需要对这个列表中的所有元素求和。

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

原文由 treng 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 922
2 个回答

您可以简单地使用内置 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 的评论重新转换,以防数据为字符串格式。

原文由 Levon 发布,翻译遵循 CC BY-SA 3.0 许可协议

Python iterable 可以这样总结 - [sum(range(10)[1:])] 。这会将列表中除第一个元素之外的所有元素相加。

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

原文由 Srikar Appalaraju 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题