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 * y4、可以把匿名函数值赋值给一个变量
例如:
f = lambda x: x * x
四、好处
不要担心函数名出现重复,冲突,但如果要多次的函数功能,
建议不要使用匿名函数来哦实现这个功能,用有名的函数定义实现,
使用的时候调用有名的函数比写一串匿名函数的代码要方便多了
浙公网安备 33010602011771号