python - 如何在 Python 中获取已排序数组的索引

我有一个数字列表:

myList = [1, 2, 3, 100, 5]

现在如果我对这个列表进行排序以获得 [1, 2, 3, 5, 100]。 我想要的是元素的索引 按排序顺序排列的原始列表,即 [0, 1, 2, 4, 3] --- ala MATLAB 的 sort 函数同时返回 值(value)和指数。

最佳答案

如果您使用的是 numpy,则可以使用 argsort() 函数:

>>> import numpy
>>> numpy.argsort(myList)
array([0, 1, 2, 4, 3])

http://docs.scipy.org/doc/numpy/reference/generated/numpy.argsort.html

这将返回对数组或列表进行排序的参数。

https://stackoverflow.com/questions/6422700/

相关文章:

python - Virtualenvs 中损坏的引用

linux - Bash:无限 sleep (无限阻塞)

linux - 释放 TCP/IP 端口?

c - 如何在 C 中从串口打开、读取和写入?

python - 你如何在 django 网站上记录服务器错误

python - 如何避免 __init__ 中的 "self.x = x; self.y = y;

python - 如何创建一个全部为 True 或全部为 False 的 numpy 数组?

python - 如何打开一个文件进行读写?

python - pip 相当于 `npm install package --save-dev`

linux - Linux 环境变量名称中允许的字符