以下是一种解决方法的代码示例:
def find_duplicate_objects(objects):
counts = {}
duplicates = []
for obj in objects:
# 将对象转换为可哈希的字符串表示
obj_str = str(obj)
if obj_str in counts:
counts[obj_str] += 1
if counts[obj_str] == 2:
duplicates.append(obj)
else:
counts[obj_str] = 1
return duplicates
# 示例用法
objects = [1, 2, 3, 2, 4, 5, 3, 2, 1]
duplicates = find_duplicate_objects(objects)
print(duplicates)
这段代码通过创建一个字典来计算每个对象的出现次数。如果一个对象出现超过一次,就将它添加到重复对象列表中。在示例中,输出将是 [2, 3, 1]
,因为这些对象在数组中重复出现了。