Python中的lambda函数
# python中的lambda函数
lambda函数相当于定义了一个匿名的函数,减少了代码量
# 代码
# Lambda表格 也是lambda函数
points = [{'x': 2, 'y': 3},
{'x': 4, 'y': 1}]
points.sort(key=lambda i: i['y'])
print(points)
'''
要注意到一个 list 的 sort 方法可以获得一个 key 参数,
用以决定列表的排序方式(通常我们只知道升序与降序)。
在我们的案例中,我们希望进行一次自定义排序,为此我们需要编写一个函数,
但是又不是为函数编写一个独立的 def 块,只在这一个地方使用,因此我
们使用 Lambda 表达式来创建一个新函数。
'''
# lambda函数的其他使用方法
add = lambda x, y: x + y
print(add(1, 2)) # 结果为3
# 需求:将列表中的元素按照绝对值大小进行升序排列
list1 = [3, 5, -4, -1, 0, -2, -6]
print(sorted(list1, key=lambda x: abs(x)))
'''
等价于
def get_abs(x):
return abs(x)
list1.sort(key=get_abs)
print(list1)
或者
def get_abs(x):
return abs(x)
print(sorted(list1, key=get_abs))
'''
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
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
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
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
# 运行结果
[{'y': 1, 'x': 4}, {'y': 3, 'x': 2}]
3
[0, -1, -2, 3, -4, 5, -6]
1
2
3
2
3
1
2
3
2
3
编辑 (opens new window)
上次更新: 2022/12/31, 16:52:27
- 01
- SpringCache基本配置类05-16
- 03
- Rpamis-security-原理解析12-13