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

525
2023/11/19 9:25:47
栏目: 编程语言
开发者测试专用服务器限时活动,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]取出了排序后的索引列表。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: python如何设置索引