I.sort(key=lambda x: (x[0],-x[1]))
假设我有I=[[1,2],[1,4],[3,4]]
,那么这个lambda函数将如何排序,有人能解释一下它将如何一步一步地进行吗
您所指的是通过多个键(在您的情况下是第一个和第二个键(进行的复杂搜索:
- 按第1个键递增
- 按第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]]