如何为生成器函数创建循环而不是每次调用
how to create a loop for a generator function instead of each next call
我不明白我应该如何使用 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)
我不明白我应该如何使用 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)