Hi all,
I'm trying to figure out how how complex map, filter and reduce work
based on the following piece of code from
http://www-106.ibm.com/developerwork...ry/l-prog.html :
bigmuls = lambda xs,ys: filter(lambda (x,y):x*y > 25, combine(xs,ys))
combine = lambda xs,ys: map(None, xs*len(ys), dupelms(ys,len( xs)))
dupelms = lambda lst,n: reduce(lambda s,t:s+t, map(lambda l,n=n:
[l]*n, lst))
print bigmuls((1,2,3, 4),(10,15,3,22) )
The solution generated by the above code is: [(3, 10), (4, 10), (2,
15), (3, 15), (4, 15), (2, 22), (3, 22), (4, 22)]
I'm stuck on the second line in "map(None, xs*len(ys),
dupelms(ys,len( xs))"... Can someone explain me how the map function
evaluates??
Thanks
Ben
I'm trying to figure out how how complex map, filter and reduce work
based on the following piece of code from
http://www-106.ibm.com/developerwork...ry/l-prog.html :
bigmuls = lambda xs,ys: filter(lambda (x,y):x*y > 25, combine(xs,ys))
combine = lambda xs,ys: map(None, xs*len(ys), dupelms(ys,len( xs)))
dupelms = lambda lst,n: reduce(lambda s,t:s+t, map(lambda l,n=n:
[l]*n, lst))
print bigmuls((1,2,3, 4),(10,15,3,22) )
The solution generated by the above code is: [(3, 10), (4, 10), (2,
15), (3, 15), (4, 15), (2, 22), (3, 22), (4, 22)]
I'm stuck on the second line in "map(None, xs*len(ys),
dupelms(ys,len( xs))"... Can someone explain me how the map function
evaluates??
Thanks
Ben
Comment