Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据第0个列表的argsort对嵌套列表中的列表进行排序_Python_Arrays_List_Sorting_Numpy - Fatal编程技术网

Python 根据第0个列表的argsort对嵌套列表中的列表进行排序

Python 根据第0个列表的argsort对嵌套列表中的列表进行排序,python,arrays,list,sorting,numpy,Python,Arrays,List,Sorting,Numpy,根据列表中的第一个列表对列表进行排序的最简洁的方法是什么 排序前 >>> list_of_things = [[100,300,200],[t,u,v]] 排序后 >>> [[100,200,300],[t,v,u]] 到目前为止,我使用搜索找到了一个可以用来排序的索引 >>> import numpy as np >>> sort_index=np.argsort(list_of_things[0]) 但我还没有找

根据列表中的第一个列表对列表进行排序的最简洁的方法是什么

排序前

>>> list_of_things = [[100,300,200],[t,u,v]]
排序后

>>> [[100,200,300],[t,v,u]]
到目前为止,我使用搜索找到了一个可以用来排序的索引

>>> import numpy as np
>>> sort_index=np.argsort(list_of_things[0]) 
但我还没有找到一种pythonic方法在sort_索引上同时为两个子列表编制索引

有什么想法吗? 谢谢大家!

print(arr) 
array([['100', '300', '200'],
       ['t', 'u', 'v']],
      dtype='<U21')
现在,只需使用
numpy索引

arr = arr[:, idx]

print(arr)
array([['100', '200', '300'],
       ['t', 'v', 'u']],
      dtype='<U21')
arr=arr[:,idx]
打印(arr)
数组([[100',200',300'],
[t',v',u']],
dtype='从一个第三方库中尝试一个工具,它可以并行地对iterables进行排序

首先安装库:

> pip install more_itertools
代码

from more_itertools import sort_together


iterables = [[100, 300, 200], ["t", "u", "v"]]
sort_together(iterables)
# [(100, 200, 300), ('t', 'v', 'u')]
默认情况下,所有iterables均按第0个索引排序。此排序优先级可通过
键列表
参数进行调整


有关详细信息,请参阅。

是否要根据列表[0]的argsorted值对列表[1:n]进行排序?
from more_itertools import sort_together


iterables = [[100, 300, 200], ["t", "u", "v"]]
sort_together(iterables)
# [(100, 200, 300), ('t', 'v', 'u')]