【问题标题】:Ordering a multidimensional array in python [duplicate]在python中订购多维数组[重复]
【发布时间】:2013-02-19 12:33:47
【问题描述】:

我有一个像这样的数据结构:

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

我想根据第二个变量(降序)对其进行排序,如下所示:

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

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

【问题讨论】:

    标签: python


    【解决方案1】:

    您可以使用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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-27
      • 1970-01-01
      • 2012-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-29
      相关资源
      最近更新 更多