Python iterator in nested types
Will man in Python einen Iterator für eine Container-Klasse erstellen, deren Elemente wiederum Instanzen der Container-Klasse sind, so kann dieser Iterator einfach so erstellt werden:
class Container: def __init__(self): self.list = [] def __iter__(self): for element in self.list: if isinstance(element, Container): for subelement in element: yield subelement else: yield element
As simple as that!