一:概述
匿名函数主要用来处理比较简单的逻辑,用一行显示,并将运算结果作为返回值返回
二:书写规则
函数名 = lambda 参数:返回值
参数可以有多个,多个参数使用逗号分隔
三 :例子
将func函数书写成匿名函数
def func(x):
return x**2
ret = func(2)
print(ret) func_lambda = lambda x:x**2
ret = func_lambda(2)
print(ret)
匿名函数主要和其他函数配合使用
和max函数配合使用
# 根据字典的值返回最大的键 # 原始做法 dic={'k1':10,'k2':100,'k3':30}
def func(k):
return dic[k]
ret = max(dic,key=func)
print(ret) # 使用lambda
dic={'k1':10,'k2':100,'k3':30}
ret = max(dic,key=lambda k:dic[k])
print(ret)
和map函数配合使用
# 将列表元素求平方
# 传统做法
l = [1,2,3,4,5]
def func(x):
return x**2
ret = map(func,l)
for i in ret:
print(i) # lambda
l = [1,2,3,4,5]
ret = map(lambda x:x**2,l)
for i in ret:
print(i)
和map函数混合使用
# 现有两个元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}] ret = zip((('a'),('b')),(('c'),('d')))
def func(x):
return {x[0]:x[1]}
res =list(map(func,ret))
print(res) res = list(map(lambda x:{x[0]:x[1]},zip((('a'),('b')),(('c'),('d')))))
print(res)