定義一個Fibs類python
>>> 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
這樣用code
>>> [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]