轻松易行易懂之python

简单易懂之python 中的map,filter,reduce用法,pythonreduce

map(function,sequence)
把sequence中的值当参数逐个传给function,返回一个包含函数执行结果的list。
重点是结果返回一个列表,这样对返回的列表就可以干很多的活了。如().join()操作
如果function有两个参数,即map(function,sequence1,sequence2)。   例子:
求1+1,2+2,3+3,4+4 map(lambda x:x+x,range(1,5)) 返回值是[2,4,6,8]  
reduce(function,sequence) function接收的参数个数只能为2
先把sequence中第一个值和第二个值当参数传给function,再把function的返回值和第三个值当参数传给
function,然后只返回一个结果。
重点就是经过reduce处理完以后,就只会得到一个结果。   例子:
求1到10的累加 reduce(lambda x,y:x+y,range(1,11)) 返回值是55。  
filter(function,sequence) function的返回值只能是True或False
把sequence中的值逐个当参数传给function,如果function(x)的返回值是True,就把x加到filter的返回值里面。一般来说filter的返回值是list,特殊情况如sequence是string或tuple,则返回值按照sequence的类型。
重点就是通过filter函数来达到过滤的效果   例子: 找出1到10之间的奇数
filter(lambda x:x%2!=0,range(1,11)) 返回值 [1,3,5,7,9]  
还有就是lamdba天生跟它们混的比较熟。通过lamdba来产生一个匿名的函数,对后面的sequence来干活

中的map,filter,reduce用法,pythonreduce map(function,sequence)
把sequence中的值当参数逐个传给function,返回一个包含函数执行结果…

标签:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图