根据两个元素对元组列表进行排序

时间:2012-02-21 11:01:21

标签: python sorting python-3.x tuples

  

可能重复:
  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])

但如何用两把钥匙做到这一点?

1 个答案:

答案 0 :(得分:52)

sorted(unsorted, key=lambda element: (element[1], element[2]))

我假设从样本输出中订购了密钥。