python自定义切片_自定义Python切片,请指教
我有一個(gè)子類列表對(duì)象的類.現(xiàn)在我需要處理切片.從我在intertubes上讀到的所有內(nèi)容中,必須使用__getitem__方法完成.至少在我正在使用的
Python 2.7中.我已經(jīng)完成了這個(gè)(見下文),但是當(dāng)我傳入切片時(shí),沒有調(diào)用__getitem__方法.而是完成切片并返回列表.我想返回一個(gè)新的myList實(shí)例.
請(qǐng)幫我發(fā)現(xiàn)錯(cuò)誤.
謝謝!
class myList(list):
def __init__(self, items):
super(myList, self).__init__(items)
self.name = 'myList'
def __getitem__(self, index):
print("__getitem__")
if isinstance(index, slice):
print("slice")
return self.__class__(
self[x] for x in range(*index.indices(len(self)))
)
else: return super(myList, self).__getitem__(index)
if __name__ == "__main__":
print("\nI'm tesing out custom slicing.\n")
N = 10
L = myList(range(N))
L3 = L[3]
L02 = L[:2]
總結(jié)
以上是生活随笔為你收集整理的python自定义切片_自定义Python切片,请指教的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gcc和vc的两点区别
- 下一篇: python3.5安装scrapy_Py