如何在python中将某些列表中的所有数字相加

  • 本文关键字:数字 列表 python python list
  • 更新时间 :
  • 英文 :


x=[1,2,5]y=[2,3,9]如何获得结果 22?

我的代码有类型错误。

我认为你想要内置的sum函数。

>>> x = [1,2,5]
>>> y = [2,3,9]
>>> sum(x+y)
22

这与

sum(x) + sum(y)

或者如果你喜欢迭代工具:

sum(itertools.chain(x,y))

后 2 个效率更高。


sum采用一个可迭代对象并对其所有元素求和。 在处理列表+连接时,因此:

x+y

给你列表:

[1,2,5,2,3,9]

这是可迭代的,因此是sum的完美候选者。


如果你有一大堆列表,你可以让它更有趣:

>>> lists = [x,y]
>>> sum(sum(lst) for lst in lists)
22

最后一种形式很好,因为它可以简单地扩展到任意数量的列表 - 只需继续将它们附加到lists列表中,直到您准备好求和,将 1 行插入其中,然后您就完成了。

当然,我想我们也可以用迭代工具做同样的事情:

sum(itertools.chain.from_iterable(lists))

如您所见,您有很多选择可以玩(并从中学习:)!

>>> list1 = [1,2,5]
>>> list2 = [2,3,9]
>>> zip_list = [(x + y) for x, y in zip(list1, list2)]
>> zip_list
[3, 5, 14]
>>> sum(zip_list)
22
    sm=0
    for v in x+y:
         sm=sm+v

相关内容

  • 没有找到相关文章

最新更新