匿名函数是为了解决简单函数定义, 而产生的
定义 函数名 = lambda 参数: 返回值
参数可以有多个, 用逗号隔开
匿名函数不管都复杂, 只能写一行, 且逻辑执行结束后的内容就是返回值
返回值和正常的函数一样可以是任意数据类型
- def colc(n):
- return n ** n
- print(colc(4))
- colc = lambda n: n ** n
- print(colc(4))
以上两个函数是一个意思, 使用关键字 lambda 定义. n 为传入的参数, 双冒号后为函数式
多参数匿名函数:
- def add(x, y):
- return x + y
- add = lambda x, y : x + y
- print(add(1, 3))
匿名函数实战:
求字典中, 最大值对应的键值
- dic={'k1':10,'k2':100,'k3':30}
- def func(x):
- return dic[x]
- # 打印最大值的主键
- print(max(dic,key=func))
- print(max(dic,key=lambda k:dic[k]))
结果一样, 但是使用匿名函数, 节省了代码
来源: http://www.bubuko.com/infodetail-3296828.html