Я не понимаю, что происходит с итераторами python, Я получил объект со списком детей, и я хочу перебирать эту структуру. Я хочу получить то же поведение, что и с функцией printall, но с итератором.
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
надеюсь, что хватит информации, спасибо
изменить:
Я просто хочу, чтобы иметь возможность перебирать все листья дерева и делать что-то с объектом, то есть когда у меня есть экземпляр
bla = t(3)
Я хочу иметь возможность проходить через node с помощью
for x in bla:
print x.a
например. я хочу иметь возможность чего-то с каждым х, я просто должен получить доступ к каждому ребенку один раз