Lambda 函数的动画演示

有些读者反映,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的取值为图中最下tuple 的一个元素。
  • lambda函数返回值等于lambda v冒号后表达式的返回值。