您的位置:首页 > 编程语言 > Python开发

python中的生成器跟迭代器

2013-11-05 11:47 393 查看
python的迭代器,只需要实现__iter__跟next()方法就成。

例如:

def __iter__(self):
return self

def next(self):
result = self.get()
if result is StopIteration:
raise result
return result


当迭代到最后无值的时候,会抛出StopIteration异常,不过好些自己的实现函数会去预先处理,不抛此异常

例如:

it = iter(lst)
try:
while True:
val = it.next()
print val
except StopIteration:
pass


  

至于生成器,主要是用到关键字yield,基本上这就是个生成器,而且不能跟return搭配用。生成器中也可有next()方法,即它也有迭代器的功能

可参考
http://www.cnblogs.com/huxi/archive/2011/07/01/2095931.html
/article/5268072.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: