小编典典

sorted(key = lambda:…)后面的语法

python

我不太理解该sorted()参数背后的语法:

key=lambda variable: variable[0]

是不是lambda随心所欲?为什么variable在看起来像是两次dict


阅读 298

收藏
2020-12-20

共1个答案

小编典典

key是一个函数,在比较它们之前将调用该函数来转换它们。传递给的参数key必须是可调用的。

使用lambda创建一个匿名函数(可调用)。在sorted可调用的情况下仅采用一个参数。Pythonlambda很简单。它只能做并真正返回一件事。

的语法lambda是单词,lambda后跟参数名称列表,然后是单个代码块。参数列表和代码块用冒号表示。这类似于在python其他构建体,以及诸如whileforif等。它们都是通常具有代码块的语句。Lambda只是带有代码块的语句的另一个实例。

我们可以将lambda与def的使用进行比较,以创建一个函数。

adder_lambda = lambda parameter1,parameter2: parameter1+parameter2
def adder_regular(parameter1, parameter2): return parameter1+parameter2

lambda只是为我们提供了一种无需分配名称的方法。这非常适合用作函数的参数。

variable 在这里使用两次是因为冒号的左侧是参数的名称,而右侧则在代码块中用于计算某些内容。

2020-12-20