lambda函数将如何用于排序


I.sort(key=lambda x: (x[0],-x[1]))

假设我有I=[[1,2],[1,4],[3,4]],那么这个lambda函数将如何排序,有人能解释一下它将如何一步一步地进行吗

您所指的是通过多个键(在您的情况下是第一个和第二个键(进行的复杂搜索:

  1. 按第1个键递增
  2. 按第2个键下降

这适用于有关联的组。

下面的例子可以说明正在发生的事情:

I=[[1,2],[1,4],[3,4]]
func = lambda x: (x[0])
I.sort(key=func)
print("        Sort by 1st key:",I)
I=[[1,2],[1,4],[3,4]]
func = lambda x: (x[0], -x[1])
I.sort(key=func)
print("Sort by 1st AND 2nd key:",I)
Sort by 1st key: [[1, 2], [1, 4], [3, 4]]
Sort by 1st AND 2nd key: [[1, 4], [1, 2], [3, 4]]

最新更新