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))
'''

运行结果

[{'y': 1, 'x': 4}, {'y': 3, 'x': 2}]
3
[0, -1, -2, 3, -4, 5, -6]
打赏
评论区
头像
文章目录