以下是一个示例代码,演示了如何按照自定义规则排序数组:
def custom_sort(arr):
# 自定义排序规则函数
def custom_key(num):
# 定义每个元素的排序关键字
if num % 2 == 0:
# 偶数放在奇数之前
return (0, num)
else:
# 奇数放在偶数之后
return (1, num)
# 使用自定义规则进行排序
sorted_arr = sorted(arr, key=custom_key)
return sorted_arr
# 测试
arr = [3, 7, 2, 8, 1, 6, 4, 5]
sorted_arr = custom_sort(arr)
print(sorted_arr)
运行上述代码,将会得到按照自定义规则排序后的数组 [2, 4, 6, 8, 1, 3, 5, 7]
。在这个示例中,我们定义了一个自定义排序规则函数 custom_key
,它根据元素的奇偶性为每个元素分配一个排序关键字。然后,我们使用内置的 sorted
函数,通过 key
参数指定自定义规则进行排序。最后,返回排序后的数组。