在Python中按多个值对列表进行排序

时间:2011-11-11 19:13:46

标签: python list sorting

我需要对列表进行排序,其中外部列表​​中的每个entry都是这样的三个整数的列表:

[[3,1,0],[1,2,3],[3,2,0],[3,1,1]]

诀窍在于我需要按entry[0]对其进行排序,如果有结合,则按entry[1]排序,如果这也是平局,则排序按entry[2],所以上面的列表应为:

[[3,2,0],[3,1,1],[3,1,0],[1,2,3]]

我一直在思考我的循环和排序语句,而且我还没有办法按顺序检查条目,而不用这些值重新排列我的列表而不是保持层次结构。

有什么建议吗?

1 个答案:

答案 0 :(得分:8)

这是比较列表的默认行为。

x = [[3,1,0],[1,2,3],[3,2,0],[3,1,1]]
x.sort(reverse = True)
print(x)