所以我想创建两个列表对象并使用 MySet 类中的函数 union 将它们组合起来。到目前为止我有class MySet: def __init__(self, elements): self.elements=elements def union(self, sets): for i in self.elements: self.elements.append(sets) break for j in self.elements and sets #print j only once #idk if even the first part is the right syntax所以要使用它我会做seta = MySet([1,2,3])setb = MySet([1,10,11])setc = seta.union(setb)另外,我不希望它打印重复项。所以 setc.elements 应该输出 [1,2,3,10,11]。而 seta.elements 应该仍然是 [1,2,3] 等等。谢谢你。
3 回答
神不在的星期二
TA贡献1963条经验 获得超6个赞
但如果other_set很大,会很慢。使用 set 是最具可扩展性的选择之一。订单将被忽略。
def union(self, other_set):
return list(set(self.elements).union(other_set))
如果您想保持顺序,对于非常大的other_set.
def union(self, other_set):
new_set = [i for i in self.elements] # which is actually a list
set_obj = set(new_set)
for j in other_set:
if j not in set_obj:
new_set.append(j)
return new_set
添加回答
举报
0/150
提交
取消