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