私は、Python反復子を完全に理解できません。 私は子供のリストを持つオブジェクトを取得しました。この構造を反復したいと思います。 printall関数と同じ振る舞いをしたいが、イテレータを使いたい。子孫のリストを持つ木を使ったpython反復子
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
希望は十分な情報、感謝
編集のthats:私が持っているとき
私は、ツリーのすべての葉を反復処理し、オブジェクトに何かをできるようにしたい、すなわちインスタンス
bla = t(3)
私は
ですべてのノードを通過することができるようにしたいですなどです。 すべての子に一度アクセスすればいいだけです。
いいえ、それでは不十分です。あなたは何が見たいですか? –