duccio wrote: > Will someone have time to tell me why this code don't work as I expect? > And what should I do to make the "del n" delete all the lower nodes? > Thanks! > > class Node: > def __init__(self): > self.childs=[] > def appendNode(self, n): > self.childs.append(n) > def __del__(self): > print 'del', id(self) > > n = Node() > for i in range(5): > n.appendNode(Node()) > for nodes in n.childs: > nodes.appendNode(Node())
# you forgot a reference to a child node and its child: del nodes > del n > > print '--------end--------' > > > gives this: > > > del 10965280 > del 10965440 > del 10965640 > del 10965400 > del 10965600 > del 10965360 > del 10965560 > del 10965320 > del 10965520 > --------end-------- > del 10965480 > del 10965680 Peter -- http://mail.python.org/mailman/listinfo/python-list