匿名函数:为了解决那些功能很简单的需求而设计的一句话函数。

函数名 = lambda 参数 :返回值

#参数可以有多个,用逗号隔开
#匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值
#返回值和正常的函数一样可以是任意数据类型
def fun(a,b):
    print(a+b)

l =lambda a,b:a+b
print(l(1,2))
# 3

我们可以看出,匿名函数并不是真的不能有名字。

匿名函数的调用和正常的调用也没有什么分别。 就是 函数名(参数) 就可以了

 1 dic = {'a1':111,'a2':555,'a3':222}
 2 print(max(dic,key=lambda k:dic[k]))
 3 # a2
 4 r = map(lambda a:a**2,[1,2,36])
 5 # print(r)
 6 # <map object at 0x00000000010C4438>
 7 for i in r:
 8     print(i)
 9 # 1
10 # 4
11 # 1296
12 
13 r = [2,6,6,9,77]
14 f = filter(lambda a:a>10,[2,6,6,9,77])
15 print(f)
16 # <filter object at 0x0000000000704400>
17 for i in f:
18     print(i)
19 # 77
View Code

相关文章: