以下是一个解决方法的示例代码:
def filter_duplicates(types):
priority_types = ['主要类型1', '主要类型2', '主要类型3']
unique_types = []
for t in types:
if t not in unique_types:
unique_types.append(t)
filtered_types = []
for pt in priority_types:
if pt in unique_types:
filtered_types.append(pt)
unique_types.remove(pt)
filtered_types.extend(unique_types)
return filtered_types
# 示例用法
types = ['主要类型2', '次要类型1', '次要类型2', '主要类型1', '次要类型3']
filtered_types = filter_duplicates(types)
print(filtered_types)
输出结果:
['主要类型2', '主要类型1', '次要类型1', '次要类型2', '次要类型3']
该示例代码定义了一个名为filter_duplicates
的函数,该函数接受一个类型列表作为输入,并返回过滤掉重复项后的类型列表。首先,函数创建一个名为unique_types
的空列表,用于存储唯一的类型。然后,通过遍历输入列表中的每个类型,将它们添加到unique_types
中,但仅当它们不在unique_types
中时才添加。这样可以确保在unique_types
列表中只包含唯一的类型。
接下来,函数创建一个名为filtered_types
的空列表,用于存储最终结果。然后,它遍历priority_types
列表中的每个主要类型。如果该主要类型存在于unique_types
列表中,它将被添加到filtered_types
中,并从unique_types
中删除。这样可以确保主要类型优先。
最后,函数将剩余的唯一类型(即次要类型)添加到filtered_types
中,并返回最终结果。
示例用法部分展示了如何使用该函数。它传递了一个包含不同类型的列表,并将结果打印出来。在该示例中,主要类型优先,且重复的类型被过滤掉。输出结果为['主要类型2', '主要类型1', '次要类型1', '次要类型2', '次要类型3']
。
上一篇:包含所有数字的最小子列表