17、python--匿名函数(lambda)

匿名函数(lambda)

lambda匿名函数的格式:

​ lambda argument_list : expersion

冒号前argument_list是参数,可以有多个,用逗号隔开,冒号右边的expersion为表达式。

lambda返回值是一个函数的地址,也就是函数对象。
匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量。

map()函数为例,计算f(x)=x2时,除了定义一个f(x)的函数外,还可以直接传入匿名函数:

>>> list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
[1, 4, 9, 16, 25, 36, 49, 64, 81]

通过对比可以看出,匿名函数lambda x: x * x实际上就是:

def f(x):
    return x * x

例1、取奇数

L = list(filter(lambda x:x%2==1, range(1, 20)))
print(L)

输出:
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

例2、计算[1, 2, 3, 4, 5, 6, 7, 8, 9,10]的平方

#匿名函数lambda x: x * x实际上就是:
#       def f(x):
#           return x * x
L=list(map(lambda x: x * x, range(1,11)))
print(L)

输出:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
#匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数
f = lambda x: x * x
print(f(5))

d=lambda x,y: x * x + y * y
print(f(1,2))

输出:
25
5
发布了70 篇原创文章 · 获赞 29 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/LOVEYSUXIN/article/details/103187844