匿名函数:顾名思义就是没有函数名的函数。一般用来解决功能简单需求的一句话函数。
把普通函数转换为匿名函数:
def calc(n):
return n*n
print(calc(5))
#转换
calc = lambda n:n*n
print(calc(5))
匿名函数的格式
综上:函数名 = lambda 参数:返回值
参数可以有多个用逗号隔开
匿名函数不管多复杂,只能写一行,且执行完结果就是返回值
匿名函数的用法
匿名函数最大的用法就是与内置函数结合使用。
#与min()/max()结合使用
print(max([{'name1':10},{'name2':20}],key=lambda dic:[k] for k in dic))
#与filter()
l = ['alex',[1,2,3],{},()]
print(filter(lambda x:type(x) is not dict,l)) #找出L中非字典数据类型
#与map()
print(list(map(lambda n:n**2,range(10)))) #把range(10)中的每个值的平方组成列表
#与sorted
l = [{'name':'电脑','price':1999},{'name':'电脑','price':2000}]
print(sorted(l,key=lambda dic:dic['price])) #按价格排序