def filter_array_by_order(arr, order):
"""
按照另一个数组的顺序过滤数组
:param arr: 需要被过滤的数组
:param order: 用于过滤的顺序数组
:return: 按照顺序过滤后的数组
"""
# 遍历顺序数组
for o in order:
# 使用生成器表达式得到符合条件的元素
temp = (x for x in arr if x == o)
# 将符合条件的元素提取出来,拼接到结果数组中
arr = [x for x in arr if x != o]
arr += temp
# 返回结果数组
return arr
# 示例
my_array = ['B', 'A', 'C', 'A', 'B']
my_order = ['A', 'B', 'C']
result_array = filter_array_by_order(my_array, my_order)
print(result_array) # ['A', 'A', 'B', 'B', 'C']