我有一个数字列表:
myList = [1, 2, 3, 100, 5]
Run Code Online (Sandbox Code Playgroud)
现在,如果我对此列表进行排序以获取[1, 2, 3, 5, 100].我想要的是排序顺序中原始列表中元素的索引,即[0, 1, 2, 4, 3]
--- ala MATLAB的sort函数,它返回值和索引.
我有一个数字数组,我想创建另一个数组,表示第一个数组中每个项目的排名.我正在使用Python和NumPy.
例如:
array = [4,2,7,1]
ranks = [2,1,3,0]
Run Code Online (Sandbox Code Playgroud)
这是我提出的最佳方法:
array = numpy.array([4,2,7,1])
temp = array.argsort()
ranks = numpy.arange(len(array))[temp.argsort()]
Run Code Online (Sandbox Code Playgroud)
有没有更好/更快的方法避免两次排序数组?
在那里,做关于Python的内置函数python.array什么argsort()上呢numpy.array?
我有一个清单
a=[2,7,23,4563,23].
Run Code Online (Sandbox Code Playgroud)
如何在一行中打印所有元素的索引?
基本上,我必须对列表进行排序并打印原始索引作为输出。例子:
A=[4,5,3,7,1]
Run Code Online (Sandbox Code Playgroud)
排序后新数组变为
A=[1,3,4,5,7]
Run Code Online (Sandbox Code Playgroud)
所需的输出应该是
4 2 0 1 3
Run Code Online (Sandbox Code Playgroud)