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