当前位置: 首页 > 面试题库 >

如何按列对多维数组排序?

皮献
2023-03-14
问题内容

有没有一种方法可以使用sort()方法或任何其他方法按列对列表进行排序?可以说我有清单:

[
[John,2],
[Jim,9],
[Jason,1]
]

我想对其进行排序,使其看起来像这样:

[
[Jason,1],
[John,2],
[Jim,9],
]

这样做的最佳方法是什么?

编辑:

现在,我遇到索引超出范围错误。我有一个二维数组,可以说1000行b 3列。我想根据第三列对其进行排序。这是正确的代码吗?

sorted_list = sorted(list_not_sorted, key=lambda x:x[2])

问题答案:

是。该sorted内置接受key的说法:

sorted(li,key=lambda x: x[1])
Out[31]: [['Jason', 1], ['John', 2], ['Jim', 9]]

请注意,sorted将返回一个新列表。如果要就地排序,请使用.sort列表的方法(也可以方便地接受key参数)。

或者,

from operator import itemgetter
sorted(li,key=itemgetter(1))
Out[33]: [['Jason', 1], ['John', 2], ['Jim', 9]]

在python Wiki上阅读更多内容。



 类似资料:
  • 问题内容: 请原谅我这是多余的还是超基本的。我要从R进入Python / Numpy,并且很难在脑海里翻转事物。 我有一个维数组,我想使用索引值的另一个n维数组进行排序。我知道我可以将其包装成一个循环,但是似乎应该有一种非常简洁的Numpyonic方式将其击败并提交。这是设置n = 2的问题的示例代码: 所以现在我有一个2 x 5的随机数数组和2 x 5的索引。我已经阅读了约10次帮助,但显然我的

  • 问题内容: 如何按“订单”键的值对该数组排序?即使这些值当前是连续的,也不会总是如此。 问题答案: 尝试使用usort,如果您仍然使用PHP5.2或更早版本,则必须首先定义一个排序函数: 从PHP 5.3开始,您可以使用匿名函数: 最后,在PHP 7中,您可以使用spaceship运算符: 要将其扩展到多维排序,如果第二个/第三个排序元素为零,请参考第二个/第三个排序元素-下文将详细说明。您也可以

  • 问题内容: 这应该很简单,但是要怎么做呢。我想通过一个键对多维数组进行排序,如下所示: 说我想按[状态]排序,我将如何实现呢?提前致谢! 问题答案: 那应该做您想要的,您可以更改比较功能以对想要的任何键进行排序。

  • 问题内容: 我有这个数组 现在,我想按此方法对数组进行排序 ? 目前,我在一个foreach循环中对此进行排序 必须有更好的方法 编辑 我希望输出类似 谢谢 问题答案: 您可以使用usort函数。

  • 问题内容: 我有一个数组: …我想按钥匙排序 我目前这样打印: 我该怎么做呢? 问题答案: 您将使用usort()-http: //php.net/usort 我的建议是:

  • 问题内容: 我有一个形状为(N,2)的2D numpy数组,其中包含N个点(x和y坐标)。例如: 我想对它进行排序,以使我的点按x坐标排序,然后在x坐标相同的情况下按y排序。因此,上面的数组应如下所示: 如果这是正常的Python列表,我将简单地定义一个比较器来执行我想要的操作,但是据我所知,numpy的sort函数不接受用户定义的比较器。有任何想法吗? 编辑:感谢您的想法!我建立了一个具有100