笔记反向迭代

Posted banshaohuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了笔记反向迭代相关的知识,希望对你有一定的参考价值。

实现一个连续浮点数发生器FloatRange,产生一些连续浮点数。

实现反向迭代协议的__reversed__方法,它返回一个迭代器。

 1 class FloatRange:
 2     def __init__(self,start,end,step = 0.1):
 3         self.start = start
 4         self.end = end
 5         self.step = step
 6     
 7     def __iter__(self):
 8         t = self.start
 9         while t <= self.end:
10             yield t
11             t += self.step
12     
13     def __reversed__(self):
14         t = self.end
15         while t >= self.start:
16             yield t
17             t -= self.step
18             
19 if __name__ == "__main__":
20     
21     for x in FloatRange(1.0,4.0,0.5):
22         print x
23     
24     for x in reversed(FloatRange(1.0,4.0,0.5)):
25         print x
26     

 

以上是关于笔记反向迭代的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C++ 中反向迭代地图?

《C++Primer(第5版)》第十章笔记

如何使用片段反向移植?

AngularJS的学习笔记

AngularJS入门学习笔记一

反向迭代器