以下是一个示例代码,用于按照指定顺序对数组进行排序:
def custom_sort(arr, order):
# 创建一个字典,用于存储每个元素对应的顺序值
order_dict = {val: i for i, val in enumerate(order)}
# 自定义排序函数,根据顺序值排序
def sort_key(val):
return order_dict[val]
# 使用自定义排序函数对数组进行排序
arr.sort(key=sort_key)
return arr
# 测试示例
arr = [4, 2, 1, 3, 5]
order = [3, 1, 4, 2, 5]
sorted_arr = custom_sort(arr, order)
print(sorted_arr) # 输出:[3, 1, 4, 2, 5]
在这个示例中,我们首先创建了一个字典order_dict
,其中键是数组中的元素,值是每个元素在order
中的索引位置。然后定义了一个自定义排序函数sort_key
,该函数根据order_dict
中的顺序值对元素进行排序。最后,使用arr.sort(key=sort_key)
对数组进行排序,并返回排序后的数组。
使用该方法,我们可以根据order
数组中的元素顺序对任意数组进行排序。