lambda匿名函数用法为 lambda parameter1, parameter2, parameter3: expression。
key = lambda x: fun(x)则是常用的函数参数表达式。如果不经常用这种表达式,容易对其用法产生困惑。我这里简单介绍几种常用方法以求快速上手。
对于max(), min()函数,我们可以找出一个矩阵第m列最大的那一行。用法如下:
a = [[1, 3], [5, 2], [0, 9]]
b = max(a, key = lambda x: x[1])
# b = [0, 9] 是第二列最大的行
对于sort()函数,sort(matrix, key = lambda x: x[1])是对matrix每行,以此行第二列为排序依据,对matrix各行重新排序。更有意思的用法是跟据value值对一个字典的key进行排序:
a = {1: 4, 2: 3, 3: 1}
b = sorted(a.keys(), key = lambda x: a[x])
# b = [3, 2, 1]
# 对a.keys()每一项ki,以a[ki]的值为依据进行排序