我有一个生成器函数,它是这样的:
def mygenerator():
next_value = compute_first_value() # Costly operation
while next_value != terminating_value:
yield next_value
next_value = compute_next_value()
我希望初始化步骤(在while循环之前)在调用函数时立即运行,而不是只在第一次使用生成器时运行。这样做的好方法是什么?在
我之所以要这样做是因为生成器将在一个单独的线程(或进程,或任何多处理使用的东西)中运行,而且我在短时间内不会使用返回,而且初始化有点昂贵,所以我希望它在我准备使用值的同时进行初始化。在
我需要类似的东西。这就是我降落的地方。 将生成器函数推入内部并返回其调用。在
使用
itertools.chain
可以相当容易地创建一个“预定时”迭代器:相关问题 更多 >
编程相关推荐