老师我这个reduce配合lambda的方法该怎么改呢
来源:12-6 filter
慕粉13006204624
2017-10-22
from functools import reduce
list_x = [(0,0),(1,3),(-1,2)]
r = reduce(lambda x,y:x+y,list_x)
print(r)
为什么这样得出的结果是
(0,0,1,3,-1,2)
还有如果我把数组的定义换成这样为什么不对呢
list_y=[(1,3),(-1,2)]
list_x=[(0,0),list_y]
写回答
2回答
-
7七月
2017-10-22
楼下给出了答案
00 -
runzx
2017-10-22
# 下面是python3 reduce()源码,分析后可得出原因: def reduce(function, iterable, initializer=None): it = iter(iterable) if initializer is None: value = next(it) # value 被赋值成(0,0) else: value = initializer for element in it: value = function(value, element) # x+y 变成元组合并,所以最后成了(0,0,1,3,-1,2) return value
00
相似问题