可能重复:
python: how to sort a complex list on two different keys排序取决于两个因素
我有一个元组列表。我想根据两个元素对它们进行排序。下面是下面的例子
unsorted = [('a', 4, 2), ('a', 4, 3), ('a', 7, 2), ('a', 7, 3), ('b', 4, 2), ('b', 4, 3), ('b', 7, 2), ('b', 7, 3)]
sorted = [('a', 4, 2), ('b', 4, 2), ('a', 4, 3), ('b', 4, 3), ('a', 7, 2), ('b', 7, 2), ('a', 7, 3), ('b', 7, 3)]
我知道如何给他们的第二个元素进行排序:
sorted(unsorted, key = lambda element : element[1])
但如何做到这一点有两个键?
由Python完成的排序是稳定的,这意味着您实际上可以对它进行两次排序,首先是最不重要的元素,然后是最重要的元素。在某些情况下,这实际上可以更快(但只是一些时间)。 – 2012-02-21 19:58:03