举个例子,def multiples_of_2(): while True: yield i
我们怎么把它翻译成C代码呢编辑:我希望将这段python代码翻译成一个类似的C生成器,使用next()函数。我不是在寻找如何在C中创建一个函数来输出2的倍数。2的倍数只是一个例子来说明C中的惰性求值生成器的问题。
下面的python代码生成(0,0),(0,7).(0,693),而不是组合所有3的倍数和7的倍数的预期元组列表:list((i,j) for i in (i*3 for i in range(100)) for j in (i*7 for i in range(100)))
生成器对象似乎扮演迭代器的角色,而不是每次枚举生成的列表时都提供迭代器对象。我是否应该明白,