我想要一个生成器,它可以在下一个迭代中返回我发送给它的内容。
>>>g = delayed_generator()
>>>g.send(None)
>>>g.send('this')
>>>g.send('is')
'this'
>>>g.send('delayed')
'is'
>>>g.send('!')
'delayed'
我想出了一种解决方案,涉及三个内部变量,但我想知道是否有更简单的方法。这是我的解决方案:
def delayed_generator():
y = None
z = None
while True:
x = yield y
y=x
y = yield z
z=y
z = yield x
x=z