您的位置:首页 > 运维架构 > Linux

转载:老李原创:CentOS如何给Firefox安装Flash插件

2011-11-08 22:27 411 查看
Python迭代器 iterator
--by GhostFromHeaven
 
迭代器是一个实现迭代器协议的容器对象,它基于两个方法:
next 返回容器的下一个元素;
__iter__ 返回迭代器本身。
迭代器可以通过内置函数iter和一个序列作为参数创建,如下:

>>> i = iter('iter')
>>> i.next()
'i'
>>> i.next()
't'
>>> i.next()
'e'
>>> i.next()
'r'
>>> i.next()
Traceback (most recent call last):
File "<console>", line 1, in <module>
StopIteration



 

序列遍历完后,继续调用next()就会抛出StopIteration异常
 
要创建自己的迭代器,可以实现迭代器协议,即实现next方法和__iter__特殊方法
 
>>> class MyIterator(object):
...     def __init__(self, step):
...         self.step = step
...     def next(self):
...         """Returns the next element."""
...         if self.step == 0:
...             raise StopIteration
...         self.step -= 1
...         return self.step
...     def __iter__(self):
...         """Returns the iterator itself."""
...         return self
...
>>> for el in MyIterator(4):
...     print el
...
3
2
1
0

 
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: