Python中Lambda表达式的详细解析

文章目录

  • Python Lambda
    • 语法
    • 例子
    • 为什么要使用Lambda函数?

Python Lambda

Lambda函数是一个小的匿名函数。

Lambda函数可以接受任意数量的参数,但只能具有一个表达式。

语法

lambda arguments : expression

执行表达式并返回结果

例子

1.一个lambda函数,它将作为参数传递的数字加10,并打印结果:

x = lambda a : a + 10
print(x(5))
15

Lambda函数可以接受任意数量的参数

2.一个lambda函数,它将参数a与参数b相乘并输出结果:

x = lambda a, b : a * b
print(x(5, 6))
30

3.一个lambda函数,对参数a,b和c求和并输出结果:

x = lambda a, b, c : a + b + c
print(x(5, 6, 2))
13

4.对于如下Dataframe,返回布尔值类型
Python中Lambda表达式的详细解析_第1张图片

a = lambda x:x['Gender']=='M'
a(df)
ID
1101     True
1102    False
1103     True
1104    False
1105    False
1201     True
1202    False
1203     True
1204    False
1205    False
1301     True
1302    False
1303     True
1304     True
1305    False
2101     True
2102    False
2103     True
2104    False
2105     True
2201     True
2202    False
2203     True
2204     True
2205    False
2301    False
2302     True
2303    False
2304    False
2305     True
2401    False
2402     True
2403    False
2404    False
2405    False
Name: Gender, dtype: bool

5.不管传入什么参数,始终返回 [3]

a = lambda x:[3]
print(a(1))
print(a(3))
print(a([3]))
[3]
[3]
[3]

为什么要使用Lambda函数?

将lambda用作另一个函数中的匿名函数时,可以更好地显示lambda的功能。

下面函数可以将传入的函数变为原来的 n 倍,传入不同的参数可以得到具有不同放大倍数功能的函数:

def myfunc(n):
  return lambda a : a * n

mydoubler = myfunc(2)
mytripler = myfunc(3)

print(mydoubler(11))
print(mytripler(11))
22
33

你可能感兴趣的:(Python语法)