是否存在可以产生无限元素的直接生成器表达式?
这是一个纯粹的理论问题.这里不需要"实用"的答案:)
例如,很容易制作一个有限的发电机:
my_gen = (0 for i in xrange(42))
Run Code Online (Sandbox Code Playgroud)
但是,要创建一个无限的,我需要使用伪造的函数"污染"我的命名空间:
def _my_gen():
while True:
yield 0
my_gen = _my_gen()
Run Code Online (Sandbox Code Playgroud)
在单独的文件中执行操作并在import以后执行操作不计算在内.
我也知道这就是itertools.repeat这个.我很好奇是否有一个没有它的单线解决方案.
在C中,我会这样做:
int i;
for (i = 0;; i++)
if (thereIsAReasonToBreak(i))
break;
Run Code Online (Sandbox Code Playgroud)
如何在Python中实现类似的功能?