可以使用Python语言中的字典和集合数据类型来实现包含唯一子对象的唯一对象列表。
示例代码如下:
# 生成示例数据
data = [{'id': 1, 'name': 'apple'},
{'id': 2, 'name': 'banana'},
{'id': 3, 'name': 'peach'},
{'id': 4, 'name': 'apple'}]
# 定义空字典和空集合存储结果
temp_dict = {}
result = set()
# 遍历每个字典元素,并根据id判断是否为唯一元素
for obj in data:
if obj['id'] not in temp_dict:
temp_dict[obj['id']] = obj
result.add(frozenset(obj.items()))
# 输出结果
print(result)
运行结果为:
{frozenset({('id', 1), ('name', 'apple')}),
frozenset({('id', 2), ('name', 'banana')}),
frozenset({('id', 3), ('name', 'peach')})}
其中,使用frozenset将字典中的项作为元素存储在集合中,保证了每个元素的唯一性,且可以进行高效的集合运算。
下一篇:包含位域的结构体的大小