0%

匿名函数lambda

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
g = lambda x: x + 1
# 上面这句等价于这句
#def g(x):
# return x + 1

# 无参数
t = lambda: True
wc = lambda: "这是一个无参的lambda"

# 一个或多个参数
b = lambda x: x ** 3
c = lambda x, y=3: x * y
cc = lambda name, age: (name, age)
a = lambda x, y, z: x + y + z

# 不定长参数
d = lambda *z: sum(z) / len(z)
# *z为不定长参数,可以输入多个参数,没有固定长度,可用于求取平均值

# 键值对参数
e = lambda **arg: arg

# 返回多个表达式(需要将表达式用元组或列表的方式返回)
dg = lambda a, b: (a * b, a + b, a // b, a / b, a % b)

#map函数
li = map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])

if __name__ == "__main__":
print(t())
print(wc())
print(g(1))
print(b(1))
print('sum = ', a(3, 6, 2))

#可以直接在print中用f-string输出,其中:.2f表示显示小数点后两位
print(f'梯形 = {(lambda tx, tk, h: (tx + tk) * h / 2)(1, 2, 3):.2f}')

#可以直接输出
print(list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))) # 1
#也可以在上面定义
print(list(li))

print(cc(age=25, name="小明"))
print(c(8))
print(d(1, 5, 9, 10))
print(e(yellow=1, blue=2))
print(e(a=34, b=56))
print(dg(10, 3))
点这里请我吃个小蛋糕吧~~

Welcome to my other publishing channels