如何在Python中将结果保存到self?

时间:2013-11-18 09:46:59

标签: python

我有以下代码:

def merge(self, list2):
   from heapq import merge
   self = list(merge(self, list2))
   return self

我的目的是将合并的输出返回给self参数。上面的代码不起作用。是可以这样做还是我想做一些愚蠢的事情?

感谢。

编辑:

这是本课程的一部分:

class MyList(list):
    def __init__(self, *args):
        list.__init__(self, *args)

以下是我称之为:

list1 = MyList[0, 1, 2, 3]
list1.merge([1, 2, 3, 4])

我正在尝试将结果保存到list1本身。

list1
[0, 1, 2, 3, 1, 2, 3, 4]

2 个答案:

答案 0 :(得分:2)

分配给自我并没有多大意义。您正在更改班级类型。

你可能想要的是:self.copyfrom(list(merge(self,list2))

有人说,并且考虑到python的灵活性,你可能能够使代码工作,但使用和维护会非常混乱。

答案 1 :(得分:1)

无法使用循环,列表追加类?

def merge(self, list2):
    for k in list2:
        self.append(k)

    return self