为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

繁星淼淼 2021-07-05 16:05:53
所以我想创建两个列表对象并使用 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


查看完整回答
反对 回复 2021-07-06
  • 3 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信