python对列表排序,并返回索引
时间: 2023-12-06 15:39:42 浏览: 222
python可包含重复值的列表排序算法,对输入列表进行按规则排序,输出新列表和排序数据的原索引
可以使用 `sorted` 函数和列表的 `index` 方法来实现:
```python
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_idx = sorted(range(len(lst)), key=lambda i: lst[i])
```
其中,`sorted` 函数的 `key` 参数指定了排序规则,这里使用了一个 lambda 函数,将列表中各个元素的索引作为参数,返回对应元素的值作为排序依据。
`sorted_idx` 列表中的元素就是 `lst` 中元素按照升序排列后的索引。例如,`sorted_idx` 的第一个元素就是 `lst` 中最小值的索引。
如果需要按照降序排列,可以将 lambda 函数中的 `lst[i]` 改为 `-lst[i]`。
阅读全文