有没有一种方法可以使用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