在Python中,我们可以使用内置的sorted()函数和列表sort()方法对列表进排序,这两种方法只返回排序后的列表,而不返回原始索引,如果我们想要得到排序后元素的原始索引,可以使用numpy库的argsort()函数。

python列表排序返回索引_排序python列表排序返回索引_排序(图片来源网络,侵删)

以下是一个例子:

import numpy as np
定义一个列表
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
使用numpy的argsort()函数得到排序后的索引
indices = np.argsort(lst)
print("原始列表:", lst)
print("排序后的索引:", indices)

在这个例子中,argsort()函数返回的是原始列表元素从小到大排序后的索引。lst中最小的元素是1,它在列表中的索引是1,所以indices[0]的值是1,同样,第二小的元素是2,它在列表中的索引是6,所以indices[1]的值是6,以此类推。

注意:argsort()函数返回的是一个NumPy数组,如果需要转换为Python列表,可以使用tolist()方法。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。