python

python数组排序返回索引怎么实现

小亿
173
2023-10-26 09:25:47
栏目: 编程语言

你可以使用sorted()函数来对数组进行排序,并使用enumerate()函数来获取每个元素的索引。这样可以得到一个排序后的元素列表和对应的索引列表。

以下是一个例子:

arr = [5, 2, 7, 1, 9]
sorted_arr = sorted(enumerate(arr), key=lambda x: x[1])
sorted_indices = [index for index, _ in sorted_arr]

print(sorted_indices)  # 输出: [3, 1, 0, 2, 4]

在这个例子中,sorted()函数会根据数组arr的值对其进行排序,返回一个元组的列表,其中每个元组包含元素的索引和对应的值。然后,我们使用key=lambda x: x[1]来指定排序的依据是元组中的第二个元素(值)。最后,通过enumerate()函数获取了排序后的元素列表,并使用一个列表推导式[index for index, _ in sorted_arr]取出了排序后的索引列表。

0
看了该问题的人还看了