张一驰

本人计算机专业大二生,平时会自学一些语言,分享在自学过程遇到的一些问题

导航

python匿名函数

Posted on 2019-05-20 10:50  张一驰  阅读(169)  评论(0)    收藏  举报

python是支持有限的匿名函数,匿名函数可以怎么用

一、匿名函数的格式

lambda 参数: 执行的运算

例如:

lambda x: x * x; 

也可以多个函数参数

例如:

lambda x,y: x * y;

二、可以和其他函数相结合

两个参数,第一个是你打算怎么计算的表达式,第二个是一个序列(list,tuple,dict)
 
map()
将序列中的元素通过处理函数处理后返回一个新的列表
结合:
jp=[2,4,6,8]
map(lambda x:x*x,jp)
结果:
[4,16,36,64]
 
filter()
将序列中的元素通过函数过滤后返回一个新的列表
filter(lambda x:x%2==1,jp)
这是找出jp序列中满足x%2==1的数。然后在组成一个序列输出
 
reduce()
将序列中的元素通过一个二元函数处理返回一个结果
reduce(lambda x,y:x+y,jp)
这是对jp里面所有的数进行累加,返回最终的结果
 
三、注意点
1、匿名函数只能有一个表达式,不能有多个,就是filter(lambda x:x%2==1,jp)中只能有一条像下x%2==1这种表达式
 
2、匿名函数不用加return,返回值就是该表达式的结果
 
3、但可以把运算结果作为值,用return返回
例如:
   def build(x, y):
   return lambda: x * x + y * y
 
4、可以把匿名函数值赋值给一个变量
例如:
f = lambda x: x * x

四、好处

不要担心函数名出现重复,冲突,但如果要多次的函数功能,

建议不要使用匿名函数来哦实现这个功能,用有名的函数定义实现,

使用的时候调用有名的函数比写一串匿名函数的代码要方便多了