key是一个函数,它将被调用以在比较之前转换集合的项目。传递给键的参数必须是可调用的。
使用lambda创建一个匿名函数(可调用)。在排序的情况下,可调用只需要一个参数。 Python的lambda很简单。它只能做和返回一件事真的。
lambda的语法是lambda,后面是参数名称列表,然后是单个代码块。参数列表和代码块由冒号描述。这类似于python中的其他构造,如while,for,if等。它们都是通常具有代码块的语句。 Lambda只是带有代码块的语句的另一个实例。
我们可以比较lambda的使用和def的创建一个函数。
adder_lambda = lambda parameter1,parameter2: parameter1+parameter2
def adder_regular(parameter1, parameter2): return parameter1+parameter2
lambda只是给我们一个这样做而不指定名称的方法。这使它非常适合用作函数的参数。
变量在这里被使用两次,因为在冒号的左边它是一个参数的名称,在右侧它正在代码块中使用来计算的东西。