我想創建一個嵌入替代python的list
,這將允許我知道何時添加或刪除項目。列表的子類或者實現列表接口的東西同樣適用。我更喜歡一個解決方案,我不必重新實現列表的所有功能。有沒有一種簡單的+ pythonic方式來做到這一點?掛鉤添加/刪除python列表中的項目
僞代碼:
class MyList(list):
# ...
def on_add(self, items):
print "Added:"
for i in items:
print i
# and the same for on_remove
l = MyList()
l += [1,2,3]
# etc.
我認爲你需要重寫'append','extend'和(有點棘手)'__setitem__'。 – 2011-04-29 23:22:03
而不是重寫'list'(這是正確的事情,但有點棘手),你可以在只實現你需要的API的列表上寫一個小包裝器。 – 2011-04-29 23:26:44