子类内置列表

Sap*_*Sun 13 python list subclass built-in

我想子类化该list类型并且切片返回一个后代类型的对象,但它返回一个list.这样做的最小代码方式是什么?

如果没有一个简洁的方法,我会在内部包含一个稍微杂乱但不无理的列表.

我的代码到目前为止:

class Channel(list):
    sample_rate = 0
    def __init__(self, sample_rate, label=u"", data=[]):
        list.__init__(self,data)
        self.sample_rate = sample_rate
        self.label = label

    @property
    def nyquist_rate(self):
        return float(self.sample_rate) / 2.0
Run Code Online (Sandbox Code Playgroud)

for*_*ran 11

我想你应该重写__getslice__方法来返回你的类型的对象......

也许像下面这样的东西?

class MyList(list):
    #your stuff here

    def __getslice__(self, i, j):
        return MyList(list.__getslice__(self, i, j))
Run Code Online (Sandbox Code Playgroud)