我不太理解该sorted()参数背后的语法:
sorted()
key=lambda variable: variable[0]
是不是lambda随心所欲?为什么variable在看起来像是两次dict?
lambda
variable
dict
key是一个函数,在比较它们之前将调用该函数来转换它们。传递给的参数key必须是可调用的。
key
使用lambda创建一个匿名函数(可调用)。在sorted可调用的情况下仅采用一个参数。Pythonlambda很简单。它只能做并真正返回一件事。
sorted
的语法lambda是单词,lambda后跟参数名称列表,然后是单个代码块。参数列表和代码块用冒号表示。这类似于在python其他构建体,以及诸如while,for,if等。它们都是通常具有代码块的语句。Lambda只是带有代码块的语句的另一个实例。
while
for
if
我们可以将lambda与def的使用进行比较,以创建一个函数。
adder_lambda = lambda parameter1,parameter2: parameter1+parameter2 def adder_regular(parameter1, parameter2): return parameter1+parameter2
lambda只是为我们提供了一种无需分配名称的方法。这非常适合用作函数的参数。
variable 在这里使用两次是因为冒号的左侧是参数的名称,而右侧则在代码块中用于计算某些内容。