Python 如何打印发电机的输出
当我运行代码时,我得到以下输出 如何打印输出Python 如何打印发电机的输出,python,generator,Python,Generator,当我运行代码时,我得到以下输出 如何打印输出 def firstn(n): num=0 while num < n: yield num num=num+1 sum_of_first_n=sum(firstn(10)) print(firstn(3)) def firstn(n): num=0 当num
def firstn(n):
num=0
while num < n:
yield num
num=num+1
sum_of_first_n=sum(firstn(10))
print(firstn(3))
def firstn(n):
num=0
当num
一般来说:
print(list(firstn(n)))
确保生成器不是无限的。如果您不确定,请使用以下方法:
import itertools as it
print(list(it.islice(firstn(n), 100)))
打印到前100个元素。有不同的方法,但基本上必须通过迭代器进行迭代。最简单的方法可能是使用列表理解:
print(list(firstn(3)))
但是,如果您希望为循环编写一个,以实现这一点(并使其每行包含一个元素):
但是,应该注意,遍历生成器会消耗它,如果没有检索新生成器的方法(例如,如果将生成器作为函数调用的参数),则必须将值-fx存储在数组中:
l = list(firstn(3))
for e in l:
print(e)
for e in l:
do_something(e)
print(list(firstn(3)))
SO欢迎光临。您是否介意正确格式化您的代码,以便其他人也能从中受益?
l = list(firstn(3))
for e in l:
print(e)
for e in l:
do_something(e)