python-1

2017-12-01  本文已影响3人  流星雨的梦

函数式编程(map、filter、reduce)

问题:选出一列表[-1000,1000]中同时是3和5倍数的元素,并对这些元素进行以下运算:x2/(x+5)(1/2),输出该结果中最大的那个数的数值
代码如下:

times=lambda x : x%3 == 0 and x%5 == 0 
my_times=filter(times,range(-1000,1000))
f=lambda my_times:my_times**2/(my_times+5)**(1/2)
squ=map(f,my_times)
reduce(max,squ)
Out: 980100

解析:

上一篇 下一篇

猜你喜欢

热点阅读