@author jackzhenguo
@desc
@date 2019/3/2
有些读者反映,lambda
函数不太会用,问我能不能解释一下。
比如,下面求这个 lambda
函数:
def max_len(*lists):
return max(*lists, key=lambda v: len(v))
有两点疑惑:
v
的取值?lambda
函数有返回值吗?如果有,返回值是多少?调用上面函数,求出以下三个最长的列表:
r = max_len([1, 2, 3], [4, 5, 6, 7], [8])
print(f'更长的列表是{r}')
结论:
参数v的可能取值为*lists
,也就是 tuple
的一个元素。
lambda
函数返回值,等于lambda v
冒号后表达式的返回值。