在python中排序多维数组

时间:2013-02-19 12:33:47

标签: python

我的数据结构如下:

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

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

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

我可以写一个小功能来做到这一点,但我几乎可以肯定有一个很酷的单行方式,不是吗?感谢。

1 个答案:

答案 0 :(得分:7)

您可以使用sorteditemgetter

来执行此操作
>>> 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)