我有以下代码:
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]
答案 0 :(得分:2)
分配给自我并没有多大意义。您正在更改班级类型。
你可能想要的是:self.copyfrom(list(merge(self,list2))
有人说,并且考虑到python的灵活性,你可能能够使代码工作,但使用和维护会非常混乱。
答案 1 :(得分:1)
无法使用循环,列表追加类?
def merge(self, list2):
for k in list2:
self.append(k)
return self