Python中lambda函数使用示例
发布时间:2023-06-13 02:52:03
Python中的lambda函数通常在需要使用一个函数但其实现比较简单时使用,lambda函数是一个匿名函数,它不需要函数名,其语法结构为:
lambda arg1,arg2,arg3...:expression
其中:arg1,arg2...是lambda函数的参数,expression是函数体,lambda函数可以有任意数量的参数,但只能有一个表达式。
下面是一些lambda函数的使用示例:
## 示例1:求两数之和
add = lambda x, y: x + y print(add(1, 2)) print(add(2.5, 3.3))
结果:
3 5.8
## 示例2:利用lambda函数对列表排序
lst = [('apple', 2), ('orange', 1), ('banana', 3)]
# 按名字排序
lst.sort(key=lambda x: x[0])
print(lst)
# 按数量排序
lst.sort(key=lambda x: x[1])
print(lst)
结果:
[('apple', 2), ('banana', 3), ('orange', 1)]
[('orange', 1), ('apple', 2), ('banana', 3)]
## 示例3:利用lambda函数过滤列表
lst = [1, 2, 3, 4, 5, 6] # 筛选出列表中的偶数 result = filter(lambda x: x % 2 == 0, lst) print(list(result)) # 筛选出列表中的奇数 result = filter(lambda x: x % 2 == 1, lst) print(list(result))
结果:
[2, 4, 6] [1, 3, 5]
## 示例4:利用lambda函数对列表进行映射
lst = [1, 2, 3, 4, 5, 6] # 将列表中每个数都乘以2 result = map(lambda x: x * 2, lst) print(list(result)) # 将列表中每个数都平方 result = map(lambda x: x ** 2, lst) print(list(result))
结果:
[2, 4, 6, 8, 10, 12] [1, 4, 9, 16, 25, 36]
## 示例5:利用lambda函数进行求和、求平均数、求最大值
lst = [1, 2, 3, 4, 5, 6] # 求和 result = reduce(lambda x, y: x + y, lst) print(result) # 求平均数 result = reduce(lambda x, y: x + y, lst) / len(lst) print(result) # 求最大值 result = reduce(lambda x, y: x if x > y else y, lst) print(result)
结果:
21 3.5 6
以上就是Python中lambda函数的使用示例,lambda函数表达式简单,但灵活多变,在Python编程中具有很大的优势。
