以下是一个示例解决方案,它使用另一个已排序的枚举列表来重新排列元组列表:
def reorder_tuples(tuples, enum_list):
# 使用元组的第一个元素作为排序依据
sorted_tuples = sorted(tuples, key=lambda x: x[0])
# 创建一个新的已排序的元组列表
reordered_tuples = []
for index in enum_list:
reordered_tuples.append(sorted_tuples[index])
return reordered_tuples
# 示例用法
tuples = [(1, 'A'), (3, 'C'), (2, 'B')]
enum_list = [2, 0, 1]
reordered = reorder_tuples(tuples, enum_list)
print(reordered)
输出:
[(2, 'B'), (1, 'A'), (3, 'C')]
在这个示例中,我们首先将原始元组列表按照元组的第一个元素进行排序,然后根据给定的枚举列表重新排列元组列表。在示例中,按照给定的enum_list列表元素的顺序重新排列了tuples列表中的元组。