【发布时间】:2012-03-11 16:39:26
【问题描述】:
可能重复:
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 的排序是稳定的,这意味着你实际上可以对它进行两次排序,首先是最不重要的元素,然后是最重要的元素。在某些情况下,这实际上可以更快(但只有几次)。
标签: python sorting python-3.x tuples