Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何为生成器函数而不是每次调用创建循环_Python_For Loop_Generator - Fatal编程技术网

Python 如何为生成器函数而不是每次调用创建循环

Python 如何为生成器函数而不是每次调用创建循环,python,for-loop,generator,Python,For Loop,Generator,我不明白我应该如何使用loop for调用所有操作,而不是使用print(next(generator)) 我有一个生成器函数,我需要打印列表中的所有元素 def gen(a,b)... #there is a generator function for i in gen(a,b): print (next(gen(a,b))) 问题出在哪里?i是生成器生成的值。对于当前代码,您将忽略i,并在每次迭代中创建一个新的生成器,然后获取新迭代器的第一个元素 你只需要: for i in

我不明白我应该如何使用loop for调用所有操作,而不是使用print(next(generator))

我有一个生成器函数,我需要打印列表中的所有元素

def gen(a,b)... #there is a generator function

for i in gen(a,b):
    print (next(gen(a,b)))

问题出在哪里?

i
是生成器生成的值。对于当前代码,您将忽略
i
,并在每次迭代中创建一个新的生成器,然后获取新迭代器的第一个元素

你只需要:

for i in gen(a,b):
    print(i)
打印(一)怎么样?