del class with recursive list
Peter Otten
__peter__ at web.de
Sat Mar 8 13:36:48 EST 2008
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
More information about the Python-list
mailing list