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