旅行者小程序
来源:12-5 reduce
SakuraGaara
2018-07-06
pos=[(0,0)] def tour(pos): def go(step): nonlocal pos pos.append(step) new_pos=reduce(lambda step,pos:(step[0]+pos[0],step[1]+pos[1]), pos) return new_pos return go f=tour(pos) print(f((1,2))) print(f((2,-2))) print(f((3,1))) print(f((4,2)))
写回答
3回答
-
光荣交白卷哥
2018-08-05
我简化了一下你的答案,
from functools import reduce
list_x = [(1, 2), (2, 3), (3, 4)] r = reduce(lambda x, y : (x[0] + y[0] , x[1]+y[1]), list_x) print(r)
342020-06-03 -
这位同学很懒
2020-07-18
from functools import reduce # 导入reduce模块 start = (0,0) #建立(x,y)坐标,起始点为(0,0) step = [(1,3),(-2,5),(10,11)] #移动步数,横坐标朝x方向移动,纵坐标朝y方向移动 final = reduce(lambda now,next : (now[0] + next[0], now[1] + next[1]), step, start) #最终坐标 = reduce(lambda 现坐标,下一步:(现坐标x+下一步x),(现坐标y+下一步y),移动步数为参数列表,起始点) print(final) #打印最终坐标
00 -
榴莲不流
2018-07-07
在Python3里,reduce函数被放在了functools模块里,所以需要通过引入functools模块来调用reduce函数
00
相似问题