1

我有一个数据结构,如:

[ ["id1", 123], ["id2", 1], ["id3", 6] ]

我想根据第二个变量(降序)订购它,如下所示:

[ ["id1", 123], ["id3", 6], ["id2", 1] ]

我可以为此编写一个小函数,但我几乎可以肯定有一种很酷的单行方式可以做到这一点,不是吗?谢谢。

4

1 回答 1

7

您可以使用sortedand来做到这一点itemgetter

>>> a = [ ["id1", 123], ["id2", 1], ["id3", 6] ]
>>> from operator import itemgetter
>>> sorted(a, key=itemgetter(1), reverse=True)
[['id1', 123], ['id3', 6], ['id2', 1]]

如果您纯粹想要一个单线(不导入),那么您可以lambda

>>> sorted(a, key=lambda L: L[1], reverse=True)
于 2013-02-19T12:36:45.150 回答