定义一个Fibs类
>>> class Fibs:
def __init__(self,max):
self.count=max
self.a,self.b=(0,1)
def __next__(self):
while self.count:
result =self.a
self.a,self.b=self.b,self.a+self.b
self.count -=1
return result
raise StopIteration
def __iter__(self):
return self
这样用
>>> [f for f in Fibs(9)]
[0, 1, 1, 2, 3, 5, 8, 13, 21]
>>> [x for x in reversed([f for f in Fibs(9)])]
[21, 13, 8, 5, 3, 2, 1, 1, 0]