Python 实现简单的迭代器
2014-12-25 11:20
190 查看
class AnyIter(object): def __init__(self, data, safe=False): self.safe = safe self.iter = iter(data) def __iter__(self): return self def next(self, howmany=1): retval = [] for eachItem in range(howmany): try: retval.append(self.iter.next()) except StopIteration: if self.safe: break else: raise return retval
In [91]: a = AnyIter(range(10), True) In [92]: In [92]: a Out[92]: <__main__.AnyIter at 0x174a6b0> In [93]: print a <__main__.AnyIter object at 0x0174A6B0> In [94]: i = iter(a) In [95]: i Out[95]: <__main__.AnyIter at 0x174a6b0> In [96]: print i <__main__.AnyIter object at 0x0174A6B0> In [97]: i.next(14) Out[97]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
相关文章推荐
- 迭代器就是重复地做一些事情,可以简单的理解为循环,在python中实现了__iter__方法的对象是可迭代的,实现了next()方法的对象是迭代器,这样说起来有
- ·python·用生成器和迭代器实现自己的xrange
- 转载:[python]有限状态机(FSM)简单实现
- 迭代器,iterator的最简单实现
- 用python或者perl实现简单的http服务器目录共享
- [python]有限状态机(FSM)简单实现
- Python源码剖析[15] —— 最简单的Python实现:Small Python
- python用c/s实现服务器简单管理
- python设置检查点简单实现
- 用python实现的简单Server/Client文件传输
- 可爱的 Python: 迭代器和简单生成器
- python中如何简单的实现decorator模式--由django admin源码所得体会
- [python]有限状态机(FSM)简单实现
- ·python·用生成器和迭代器实现自己的xrange
- 用于网页判断的智能代理技术的简单实现------------基于python实现(网络爬虫)
- [python]有限状态机(FSM)简单实现
- [python]有限状态机(FSM)简单实现
- c++ stl list 迭代器简单实现
- WebTrack 在 python bottle framework中的简单实现
- python3.2实现简单文件/目录操作