# python匿名函数lambda,是返回函数对象,但是没有函数变量名的函数。
# 如果定义的函数不会在其他地方使用到,则可以考虑使用匿名函数。
# 函数名 = lambda 参数:参数表达式
# #等价于
# def 函数名(参数):
# 函数体
# return 返回值
# python的lambda表达式返回函数对象,入参可选,调用时返回表达式结果。
f=lambda a,b,c:a+b+c
print(f(1,2,3))
print('-----------')
# #等价def
# def func(a,b,c):
# return a+b+c
# print(func(1,2,3))
# print('----------')
#lambda 跳转表
jumpL=[lambda x:x**2,lambda x:x**3,lambda x:x**4]
jumpD={2:(lambda x:x*2),3:(lambda x:x**3),4:(lambda x:x**4)}
for f in jumpL:
print(f(2),end=',')
print('\n')
for k in jumpD:
print(jumpD[k](2),end=',')
print('------------')
#python的map(函数,序列)内置函数,将序列的每个项作为函数入参。
print(list(map((lambda x,y:x**y),[1,2,3],[2,3,4]))) #[1, 8, 81]
print('------------')
#python的fiilter(函数,序列)内置函数,将序列的每个项作为函数入参,并且将返回的真值存入到列表中。
print(list(filter((lambda x:x<0),range(-10,10))))
#[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1]
print('-----------')
#python的reduce(函数,迭代对象),其中函数有2个参数,将迭代对象的前2个项传递给函数,
#再将前2个项的结果和迭代对象的下一项传递给函数,直到最后一项为止。
from functools import reduce
print(reduce((lambda x,y:x+y),[1,2,3,4,5]))
python匿名函数lambda返回函数对象
最新推荐文章于 2024-05-14 11:00:23 发布