如果給你一個列表(異構)。如何根據第一個值對其進行排序,如果第一個值相等,則使用這些項的第二個值進行排序,即使第二個數值相等,也使用第三個值排序,依此類推。
我知道如何使用內部列表的特定索引進行排序
讓列表為:
a = [[2,2,1],[2,2,3],[2,1,4],[2,2,5],[1,2,6],[2,2,2]]
I want:
a=[[1,2,3],[2,1,1],[2,2,2],[2,2,3],[2,2,4],[2,2,5]]
using,
a = sorted(a, key = lambda x:x[0])
將使用第一個值對其排序,但如果第一個值相等,則將根據最先出現的值添加值。
我該怎么辦?如果第一個值相等,我想使用內部列表中的最后一個值進行排序,我該怎么做?我的意思是我想要的輸出是:
a=[[1,2,6],[2,2,1],[2,2,2],[2,2,3],[2,1,4],[2,2,5]]
如何做到這一點?
您可以創建一個定義比較順序的元組。
也可以使用元組理解來完成。例如,僅按偶數索引排序:
上面的排序示例與以下相同: