iter() 获取迭代器

最后更新:2026-09-22

iter() 获取迭代器

iter(obj) 返回 obj 的迭代器;iter(callable, sentinel) 返回一个迭代器,反复调用 callable 直到返回 sentinel。

分类内置函数
类型内置函数
Python 版本all

📝 语法

iter(object[, sentinel])

⚙️ 参数

object 必选可迭代对象;配合 sentinel 时必须是可调用对象。
sentinel 可选哨兵值:反复调用 object,直到其返回该值时停止迭代。(默认值:None)

返回值:返回迭代器对象:单参数形式为 obj 的迭代器,双参数形式为 callable 驱动的迭代器。

💥 异常

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

1 2
更多实战案例即将上线,敬请期待。

❓ 常见问题

Qiter() 和 next() 是什么关系?
Aiter(obj) 拿到迭代器,next(it) 逐个取元素;for 循环内部就是 iter() + next() 的组合。
Qiter(func, sentinel) 双参数形式是干嘛的?
A反复调用 func,直到它返回 sentinel 时停止迭代,如 iter(lambda: input(), 'quit'),适合“读到结束标记为止”的场景。
Q什么样的对象能传给 iter()?
A实现了 __iter__(list、dict、str、set 等)或序列协议 __getitem__ 的对象;传整数等普通对象会抛 TypeError。
Qiter() 是惰性的吗?
A是,iter() 只创建迭代器不做实际遍历,真正取值发生在 next() 或 for 循环时。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏