In <[EMAIL PROTECTED]>, Fabian Steiner wrote:
> This is what I got so far:
>
> def getAllChildren(self, children=[]):
> if self.children:
> children.extend(self.children)
> for child in self.children:
> child.getAllChildren(children)
> return children
>
> Unfortunately, it doesn't work like expected since the default parameter
> children=[] is evaluated only once. That's why the children list becomes
> larger and larger after calling the method several times but I can't
> think of another possibility.
>
> Do you have any ideas?
def get_all_children(self, accumulator=None):
if accumulator is None:
accumulator = list()
accumulator.extend(self.children)
for child in self.children:
child.get_all_children(accumulator)
return accumulator
Ciao,
Marc 'BlackJack' Rintsch
--
http://mail.python.org/mailman/listinfo/python-list