python匿名函数lambda用法

介绍匿名函数以前不妨先看看这两个函数:express

def add(x,y): return x+y print(add(1,2))   #3
f=lambda x,y:x+y
print(f(1,2))

上面这两段代码实现的功能是彻底同样的。第二段代码里面:lambda x,y:x+y  这就是一个函数,因为没有函数名称,因此称匿名函数。函数

下面仔细介绍一下匿名函数:spa

1、匿名函数:没有函数名字。用lambda声明。 2、匿名函数的格式: lambda arg1,arg2,.....argn:expression    冒号是分隔符,冒号前是函数的参数,冒号后带上一个表达式。 三、匿名函数不须要用return。后面的表达式就是返回值
四、调用方法:将匿名函数赋值给一个变量,而后这个变量就能够像一个正常的函数同样使用

 

# 无参数:
f=lambda :'abc'
print(f())    #'abc'

#带多个参数的
f=lambda a,b,c: a+b+c print(f(1,2,3))   #6

#带默认参数
f=lambda a,b,c=4: a+b+c print(f(1,2))    #7

 

匿名函数的高级使用技巧:结合map.reduce,filter使用:code

from functools import reduce data=[1,2,3,4,5,6,7,8,9,10] print(reduce(lambda x,y:x+y,data))   #55

  

data=[1,2,3,4,5,6,7,8,9,10] print(list(map(lambda x:x*x,data))) #输出为[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
相关文章
相关标签/搜索