@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
冒号后表达式的返回值。