可能重複:
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