匿名函数与内置函数filter()map()reduce()的用法
Posted zhong2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了匿名函数与内置函数filter()map()reduce()的用法相关的知识,希望对你有一定的参考价值。
首先是一个正常的函数,能够正常的传参数
def sayhi(n): print(n) sayhi(3)
匿名函数传参数:
(lambda n:print(n)) (2)
calc=lambda n:print(n) calc(6) #处理三元运算符 calc=lambda n:3 if n<4 else n print(calc(1))
注:lambda里面不能处理for循环之类的复杂运算
lambda单独使用的不多,需要结合使用 例如:结合filter()函数
filter()函数:一组数据里面过滤想要的结果
从0到10,过滤大余5的数
1 res=filter(lambda n:n>5,range(10)) 2 for i in res: 3 print(i)
lambda与map()结合使用
1 res=map(lambda n:n*n,range(10)) 2 for i in res: 3 print(i)
map()函数是对传入的每一个值按匿名函数里面的方式进行处理(n*n),返回处理过的结果把原来的数据覆盖掉以列表的形式输出,
相当于列表生成式:[i*2 for i in range(10)或[lambda i:i*2 for i in range(10)]
lambda与reduce()的结合使用
import functools res=functools.reduce(lambda x,y:x+y,range(10)) #累加:x是0,y是range里的数,x+y赋给x,依次相加 print(res) #或是阶乘(lambda x,y:x*y,range(1,10))
以上是关于匿名函数与内置函数filter()map()reduce()的用法的主要内容,如果未能解决你的问题,请参考以下文章
十python沉淀之路--map函数filter函数reduce函数匿名函数内置函数