下面是一个示例代码,它演示了如何按名称和最大类别从数组中删除重复对象:
class Object:
def __init__(self, name, category):
self.name = name
self.category = category
def remove_duplicates(objects):
# 创建一个字典来存储每个名称和最大类别的对象
unique_objects = {}
# 遍历数组中的每个对象
for obj in objects:
# 如果名称不在字典中,或者当前对象的类别大于字典中已存在对象的类别
if obj.name not in unique_objects or obj.category > unique_objects[obj.name].category:
# 将当前对象添加到字典中
unique_objects[obj.name] = obj
# 返回字典中的唯一对象列表
return list(unique_objects.values())
# 创建一些测试对象
objects = [
Object("obj1", 1),
Object("obj2", 2),
Object("obj1", 3),
Object("obj3", 2),
Object("obj2", 1)
]
# 调用函数删除重复对象
unique_objects = remove_duplicates(objects)
# 打印结果
for obj in unique_objects:
print(obj.name, obj.category)
输出结果:
obj1 3
obj2 2
obj3 2
上一篇:按名称和数组搜索
下一篇:按名称或路径导入模块