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

avatar
作者
猴君
阅读量:0

你可以使用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]取出了排序后的索引列表。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!