python 迭代器生成序列问题
发布网友
发布时间:2022-04-21 20:27
我来回答
共1个回答
热心网友
时间:2022-04-07 10:50
是不是这个意思
class Fibs:
def __init__(self):
self.a=0
self.b=1
self.value = 0
def next(self):
self.a,self.b=self.b,self.a+self.b
self.value+=1
print(self.value)
if self.value > 18:
print(self.value)
raise StopIteration
return self.b
def __iter__(self):
return self
f = Fibs()
fibs = (f.next() for i in range(10))
print(list(fibs))
追问对,可以实现,可以解释一下17行吗?
追答
等价于
fibs=[]
for i in range(10):
fibs.append(f.next())