如何覆盖列表的插入功能以返回lis

2024-04-24 06:12:58 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中,列表有一个insert方法,该方法返回None。你知道吗

li = ['a','b']
print li.insert(1,'a')
None

我需要它来归还名单

print li.insert(1,'a')
['a','a','b']

我试图通过创建一个新类来实现这一点,但是我被卡住了

class Nlist(list):
    def insert(self,*args,**kwargs):
        super(Nlist,self).insert(*args,**kwargs)
        return #what?

Tags: 方法selfnone列表defargslikwargs
2条回答

而不是

    li = ['a','b']
    print li.insert(1,'a')
    None

做这个

    li = ['a','b']
    li.insert(1,'a')
    print li
    ['a','a','b']

您可以这样子类化列表:

class Nlist(list):
    def insert(self, *args, **kwargs):
        super(Nlist, self).insert(*args, **kwargs)
        return self

相关问题 更多 >