>>> arr=[[4,5],[4,6],[6,7],[2,3],[1,1]]
>>> arr.sort(key=lambda x:x[0]) #statement 1
>>> arr
[[1, 1], [2, 3], [4, 5], [4, 6], [6, 7]]
>>> arr.sort(key=lambda x:(x[0],-x[1])) #statement 2
>>> arr
[[1, 1], [2, 3], [4, 6], [4, 5], [6, 7]]
因此,我可以观察到语句1和语句2的执行之间的区别。我知道语句1以x [0]的升序对列表进行排序。但是,如果使用语句2,则如何对列表进行排序?
lambda x:(x[0],-x[1])
这将生成(第一个元素,第二个元素为负)的元组
当您对2元组进行排序时,它们将基于
所以
arr.sort(key=lambda x:(x[0],-x[1]))
arr
根据以下内容对列表进行排序:
(这就是为什么[4,6]
是超前的[4,5]
,因为-6 < -5
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句