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

key=lambda variable: variable[0]

不是任意的吗?为什么变量声明两次在什么看起来像字典?


当前回答

因为lambda的用法是在sorted()的上下文中被问到的,所以也看一下这个https://wiki.python.org/moin/HowTo/Sorting/#Key_Functions

其他回答

是一个匿名函数,不是任意函数。接受的参数将是您正在处理的变量,以及对其排序的列。

换句话说,键(可选的。一个用来决定顺序的函数。默认为None)在排序函数中期望一个函数,您使用lambda。

定义lambda时,指定要排序的对象属性,python内置的sorted函数将自动处理。

如果你想按多个属性排序,那么分配key = lambda x:(property1, property2)。

要指定order-by,将reverse= true作为第三个参数(可选。一个布尔值。False将升序排序,True将降序排序。默认为False)的排序函数。

lambda是一个Python关键字,用于生成匿名函数。

>>> (lambda x: x+2)(3)
5

左边的变量是一个参数名。右边变量的使用是利用了参数。

意思几乎完全相同:

def some_method(variable):
  return variable[0]

因为lambda的用法是在sorted()的上下文中被问到的,所以也看一下这个https://wiki.python.org/moin/HowTo/Sorting/#Key_Functions