首先,这是不起作用的代码:
ls = [(1.0,np.array([3.0, 4.0])), (1.0,np.array([3.0, 4.1])), (3.0,np.array([2.0, 1.0]))]
ls.sort()
{I>你可以看到{1元组列表)。每个元组的第一个元素是一个浮点数。我试图按ls.sort()
对列表进行排序。在大多数情况下,它工作得很好。但是,有时(就像上面的例子中一样)我有一个元组,它们的第一个元素的值相同。在本例中,python尝试使用tuple的第二个元素来对tuple进行排序,但是它不起作用,因为在tuple的第二个地方我有numpy数组。在
如何通过忽略元组的第二个元素对列表进行排序?如果第一个元素是相同的,我不关心排序(可以是原始排序,也可以是随机排序)。在
可能是用key参数。这是你想要的吗?在
或者告诉python只对第一项进行排序
或者把整个过程转换成一个结构化的numpy数组,然后让numpy对它进行排序
^{pr2}$第二个选项仅在数组的长度始终相同的情况下有效。在
相关问题 更多 >
编程相关推荐