Python 使用 lambda 来创建匿名函数。
lambda 函数是一种小型、匿名的、内联函数,它可以具有任意数量的参数,但只能有一个表达式。
是一个不需要使用def关键字定义的完整函数。
lambda特点,匿名没有函数名称,也就是一窜代码。
lambda格式,lambda 参数:表达式
1.lambda格式使用
# 简单的print输出
f = lambda: "hello,word!"
print(f()) # 输出的为f使用lambda的参数"hello,word!"
2.lambda简单运算
x = lambda number: number + 10
print(x(5))
# 等同于:
def b(number1):
number1 += 10
return number1
print(b(5))
输出:
可以看出lambda功能和def差距不大,主要差距:lambda只能有一个表达式,def可以有多个表达式
3.lambda可以有多个传参
x = lambda a, b, c: a + b + c
print(x(1, 2, 3))
输出:
4.通常和内置函数如:map()、filter()和reduce()一起使用
# 使用map()函数
namber = [1, 2, 3, 4, 5]
multiple = list(map(lambda x: x ** 2, namber)) # 使用map将lambda应用于namber上
print(multiple) # 输出[1, 4, 9, 16, 25]
# 使用filter()函数
ok = [1, 2, 3, 4, 5, 6, 7, 8, 9]
iterate = list(filter(lambda x: x % 2 == 1, ok)) # ok为迭代对象
print("奇数为:" ,iterate)
#输出结果:奇数为: [1, 3, 5, 7, 9]
# 使用reduce函数累加
from functools import reduce
number = [1, 2, 3, 4, 5, 9]
accumulate = reduce(lambda x, y: x + y, number)
print(accumulate)
希望大家可以提意见,互相学习
标签:map,函数,Python,reduce,number,匿名,print,lambda From: https://blog.csdn.net/2401_82729830/article/details/140475803