【发布时间】:2014-08-16 05:47:26
【问题描述】:
在python中,列表有一个插入方法,它返回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?
【问题讨论】:
-
我觉得我可能遗漏了一些东西,但是您是否有理由不能用
print li打印新列表?如果有原因这不充分,那么您应该编辑问题并解释原因并解释所涉及的用例。 -
@shuttle87 我可以,但我正在尝试做这个简单的覆盖,这样我就不必为临时分配使用额外的变量。
-
我不确定我是否理解,列表是可变的,因此在使用
insert时必须修改一个预先存在的列表。临时赋值的额外变量是怎么来的? -
@shuttle87 这可能很愚蠢,但我有一个字符串,它没有插入方法,所以我将其转换为列表,应用插入,然后使用连接将其重新转换为字符串, 全部在一个列表理解中,其中有几个字符串迭代。我会想一个更好的方法,但现在这解决了我的问题。
-
@yayu 你刚才描述的是X-Y problem。询问您最初的问题,而不是您想出的解决方法。
标签: python