一、格式:
变量名=lambda 参数:表达式
二、注意事项:
1.参数可有可无,如果有多个参数,用逗号隔开
2.表达式中不能有while return结构,可以有 if ....else.....
3.表达式计算的结构直接返回
4.if 和else没有‘:’,不能换行
5.只能用if else ,没有elif
三、调用匿名函数:
变量名([参数1,参数2....])#中括号括起来的内容可有可无
i>
func=lambda :3>2 等价于 def func():
ret=func() return 3>2
#调用匿名函数 ret=func()
print(ret) print(ret)
结果:
True
ii>带参数的匿名函数
func=lambda x,y:x+y
ret=func(1,2)
print(ret)
结果:
3
iii>求两个数中的最大值
v>使用max函数求字典的最大值
dic={'k1':20,'k2':10}
ret=max(dic,key=lambda key:dic[key])
print(ret)
结果:
k1
vi>现在有两个元组(('a'),('b'))((c),(d)),使用匿名函数求出[{'a':'c'},{'b':'d'}]
tup1=(('a'),('b'))
tup2=(('c'),('d'))
ret=zip(tup1,tup2)
def func(tup):
return {tup[0]:tup[1]}
ret1=map(lambda tup:{tup[0]:tup[1]},ret)
ret2=list[ret1]
print(ret2)
结果:
[{'a': 'c'}, {'b': 'd'}]