是否有一个list方法可以实现python 2list.__delslice__
的功能?这里有一个__delitem__
但是它似乎只删除了一个项,而不是从x到y,所以下面是我想做的一个例子
somelist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
somelist.__delslice__(4, len(somelist))
print(somelist)
# output: [1, 2, 3, 4]
似乎他们已经从Python3中删除了这个,是吗?如果不是,它现在叫什么,或者有一个模块有它吗?
最佳答案
根据Python 2.7 - object.__delslice__
documentation:
调用以实现删除self[i:j]。i和j的注释与
用于获取切片。此方法已弃用。如果没有
找到或用于扩展self[i:j:k]形式的切片对象
被创建并传递给uuu delitem_uuu(),而不是uuu delslice_uu()
被召唤。
因此,用__delitem__
对象调用slice
:
>>> somelist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> somelist.__delitem__(slice(4, len(somelist)))
>>> somelist
[1, 2, 3, 4]
顺便说一句,你可以用
None
代替len(somelist)
:>>> somelist.__delitem__(slice(2, None))
>>> somelist
[1, 2]
更新
您可以对slice使用
del
语句:del somelist[2:]
关于python - list .__ delslice__ python 3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22278457/