lamdba匿名函数:【lambda argument1,argument2 ,... argumentN :expression using arguments】
lambda是一个表达式,不是语句和模块。可以出现在常量列表和函数参数中
实例1:
f=lambda x,y,z:x+y+z#将结果赋值给变量f,可通过f调用函数
f1=lambda x=1,y=2,z=34:x+y+z#使用默认参数
L=[1,2,lambda x:x*x]#作为列表的元素
Dict={"one":lambda :1,"two":lambda x:x**2,"three":lambda :3}#作为字典的元素
b=f(1,2,3)
b1=f1(1,2)
print(b,b1,L[2](5),Dict["two"](6))#匿名函数调用
D:\py\venv\Scripts\python.exe D:/py/func.py
6 37 25 36
Process finished with exit code 0
实例2:
def myfuc():#匿名函数在循环中使用
L=[]
for x in range(4):
L.append(lambda :x) #列表成员追加的是一个匿名函数函数并未执行
print(x)
return L
l=myfuc()#函数调用返回一个列表,每个成员为一个匿名函数
print(type(l))
for i in range(len(l)):
print(l[i](),end=" ")#循环遍历执行匿名函数并执行此时x为3所以全部输出为3
D:\py\venv\Scripts\python.exe D:/py/func.py
3
<class 'list'>
3 3 3 3
Process finished with exit code 0