terador @python através da árvore com lista de filhos
Eu não entendo completamente os iteradores python, eu tenho um objeto com uma lista de filhos e quero iterar por essa estrutura. Desejo obter o mesmo comportamento da função printall, mas com um iterado
class t:
def __init__(self, i):
self.l = []
self.a = 0
for ii in range(i):
self.a = ii
self.l.append(t(i-1))
def __iter__(self):
return self
def next(self):
for i in self.l:
yield i.__iter__()
yield self
def printall(self):
for i in self.l:
i.printall()
print self.a
espero que isso seja informação suficiente, obrigado
editar
eu só quero poder percorrer todas as folhas da árvore e fazer algo com o objeto, ou seja, quando eu tiver uma instância
bla = t(3)
quero poder percorrer todos os nós com
for x in bla:
print x.a
por exemplo. eu quero poder fazer algo com cada x, só preciso acessar todas as crianças uma vez