我想在列表中添加事件,以便在添加项目时根据项目执行操作,例如生成新的数据结构,改变屏幕输出或引发异常。
我如何做到这一点?
答案 0 :(得分:1)
您可以创建自己的类来扩展列表对象:
class myList(list):
def myAppend(self, item):
if isinstance(item, list):
print 'Appending a list'
self.append(item)
elif isinstance(item, str):
print 'Appending a string item'
self.append(item)
else:
raise Exception
L = myList()
L.myAppend([1,2,3])
L.myAppend('one two three')
print L
#Output:
#Appending a list
#Appending a string item
#[[1, 2, 3], 'one two three']