我有一个数据结构,如:
[ ["id1", 123], ["id2", 1], ["id3", 6] ]
我想根据第二个变量(降序)订购它,如下所示:
[ ["id1", 123], ["id3", 6], ["id2", 1] ]
我可以为此编写一个小函数,但我几乎可以肯定有一种很酷的单行方式可以做到这一点,不是吗?谢谢。
我有一个数据结构,如:
[ ["id1", 123], ["id2", 1], ["id3", 6] ]
我想根据第二个变量(降序)订购它,如下所示:
[ ["id1", 123], ["id3", 6], ["id2", 1] ]
我可以为此编写一个小函数,但我几乎可以肯定有一种很酷的单行方式可以做到这一点,不是吗?谢谢。
您可以使用sorted
and来做到这一点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)