使用类组合两个列表(Python)

所以我想创建两个列表对象并使用 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] 等等。谢谢你。


繁星淼淼
浏览 145回答 3
3回答

神不在的星期二

但如果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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python