On Mar 9, 8:58 pm, duccio <[EMAIL PROTECTED]> wrote: > Someone knows if it's possible to make this __iter__ function with just > one 'yield' intead of two? > ... > def __iter__(self): > yield self #1 > for n in self.childs: > for nn in n.__iter__(): > yield nn #2
Only one yield and shorter (but not really any simpler):
from itertools import chain
class Node:
...
def __iter__(self):
for x in chain([self], *self.childs):
yield x
--
Paul Hankin
--
http://mail.python.org/mailman/listinfo/python-list
