首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python迭代器中的hasNext?

Python迭代器中的hasNext?
EN

Stack Overflow用户
提问于 2009-12-28 02:04:51
回答 14查看 177.2K关注 0票数 209

Python迭代器没有hasNext方法吗?

EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2009-12-28 02:08:52

不,没有这样的方法。迭代结束时会出现一个异常。请参阅documentation

票数 136
EN

Stack Overflow用户

发布于 2013-03-25 11:05:17

通过使用next(iterator, default_value),有一种替代StopIteration的方法。

对于exapmle:

代码语言:javascript
运行
复制
>>> a = iter('hi')
>>> print next(a, None)
h
>>> print next(a, None)
i
>>> print next(a, None)
None

因此,如果您不想使用异常方法,可以检测for None或其他预先指定的迭代器末尾的值。

票数 313
EN

Stack Overflow用户

发布于 2009-12-28 10:52:55

除了提到StopIteration之外,Python "for“循环只做您想要做的事情:

代码语言:javascript
运行
复制
>>> it = iter("hello")
>>> for i in it:
...     print i
...
h
e
l
l
o
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1966591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档