python 匿名函数添加判断_Python:匿名函数

没有名字的函数,不用写return,返回值就是该表达式的结果。

语法:lambda 参数:方法(或三元运算)

lambda x:x*x等同于

def f(x):

return x * x

1

2

3

4

5

6

7

8

9

10

11

12

13

14

#普通函数

def calc(x,y):

if x > y:

return x/y

else:

return x*y

#匿名函数,想要调用必须赋一个变量

func = lambda x,y: x/y if x>y else x*y #匿名函数最多只支持三元运算,再复杂的判断不支持

print(calc(3,8))

print(calc(16,8))

print(func(3,8))

print(func(16,8))

结果:

24

2.0

24

2.0

上面的例子好像看不出匿名函数和普通函数有什么区别,反而看上去会容易迷糊,那有什么用呢?

有些时候,不需要显式地定义函数,直接传入匿名函数更方便。

以map()函数为例:

现在需要一个列表里的所有元素自乘

1

2

3

4

5

6

7

8

9

10

a = list(range(10))

print(a)

#普通方法

for index,i in enumerate(a):

a[index] = i*i

print(a)

#map()方法

print(list(map(lambda x:x*x,a)))

结果:

复制代码

#普通方法

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

#map()方法

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

复制代码

可以看出同一个需求显然用匿名函数更加简洁

PS:map(func, *iterables)函数,第一个参数是个函数,第二个是用来操作的列表等元素集合

总结:

1、匿名函数不需要特意去定义一个函数名,可能这个函数只是某个地方临时用一下,后面就不会再用了

2、匿名函数一般都是和其他方法搭配使用,使得代码更加简洁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值