欢迎访问宙启技术站
智能推送

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编程中具有很大的优势。