嵌套列表,
1st
我试图根据result_A = [[2, 0], [1, 0], [5, 1], [3, 2], [4, 3]]
元素按升序排序,即
1st
当0th
元素在任何嵌套列表中都很常见时,我试图根据required_A = [[1, 0], [2, 0], [5, 1], [3, 2], [4, 3]]
元素对其进行排序。所以,
required_A = sorted(A, key=itemgetter(1))
到目前为止,这是我的代码:
1st
我可以根据0th
元素对其进行排序,但是如果在SELECT 1, * FROM QuotesTable WHERE quotesid = 103 UNION ALL
SELECT 2, * FROM QuotesTable WHERE quotesid = 7 UNION ALL
SELECT 3, * FROM QuotesTable WHERE quotesid = 16 UNION ALL
SELECT 4, * FROM QuotesTable WHERE quotesid = 50 UNION ALL
SELECT 5, * FROM QuotesTable WHERE quotesid = 41 UNION ALL
SELECT 6, * FROM QuotesTable WHERE quotesid = 80 UNION ALL
SELECT 7, * FROM QuotesTable WHERE quotesid = 67 UNION ALL
SELECT 8, * FROM QuotesTable WHERE quotesid = 64
ORDER BY 1
元素上再次对其进行排序而没有剩余的顺序搞砸了,我很无能为力。谢谢!
答案 0 :(得分:1)
这显示了如何修复itemgetter
代码。
>>> from operator import itemgetter
>>> sorted(A, key=itemgetter(1, 0))
[[1, 0], [2, 0], [5, 1], [3, 2], [4, 3]]
当您将多个参数传递给itemgetter
时,它会返回一个函数,该函数可用于构造来自给定序列的元组,其中包含作为itemgetter
的参数提供的相应索引的值。 / p>
与所有序列一样,元组可以在Python中进行比较lexicographically。这意味着它们将从左到右,逐个索引进行比较,直到一个序列超过另一个序列。这也意味着元组可以为您的排序提供出色的密钥。
答案 1 :(得分:1)
如果我们在相反的顺序中有各个子列表中的项目,我们可以直接对整个列表进行排序。因此,让我们通知sorted
函数我们要考虑反向子列表:
sorted(A, key=lambda x: list(reversed(x))