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