python根据值的大小排序并返回下标
时间: 2024-05-09 19:16:47 浏览: 68
根据大小排序
你可以使用Python内置的`sorted()`函数,将要排序的值和对应下标组成元组,然后按照值的大小排序,最后返回对应的下标即可。
下面是示例代码:
```python
values = [5, 2, 8, 1, 9]
sorted_indexes = [i[0] for i in sorted(enumerate(values), key=lambda x:x[1])]
print(sorted_indexes)
```
输出结果:
```
[3, 1, 0, 2, 4]
```
其中`enumerate()`函数可以将一个列表转换成一个元素为元组的枚举对象,每个元组包含了该元素的下标和值。`sorted()`函数按照元组中第二个元素(即值)的大小排序,然后`[i[0] for i in ...]`使用列表推导式取出排序后元组中的第一个元素(即下标),最终得到一个按照值从小到大排序的下标列表。
阅读全文