是否有一个可以生成无限元素的简单生成器表达式?
这是一个纯粹的理论问题。此处无需“实用”答案:)
例如,很容易制作一个有限生成器:
my_gen = (0 for i in xrange(42))
但是,要制作一个无限个,我需要用虚假函数“污染”我的名称空间:
def _my_gen():
while True:
yield 0
my_gen = _my_gen()
在单独的文件中处理,import
以后-ing不计算在内。
我也知道这itertools.repeat
完全可以做到。我很好奇是否有没有这种情况的一线解决方案。
del _my_gen
如果您不想混淆两者,也可以使用
my_gen
,然后执行即可my_gen = my_gen()
。