python中的iter()函数怎么使用?

尊渡假赌尊渡假赌尊渡假赌
发布: 2025-12-01 22:56:04
原创
441人浏览过
iter()函数可将可迭代对象转为迭代器,支持基本可迭代类型如列表、元组,并可通过callable与sentinel实现条件循环,结合__iter__()和__next__()可创建自定义迭代器。

python中的iter()函数怎么使用?

iter() 函数用来将一个可迭代对象转换成一个迭代器,或者用于创建自定义的迭代器。只要对象支持迭代协议(即有 __iter__() 方法或实现了 __getitem__()),就可以使用 iter()。

基本用法:从可迭代对象创建迭代器

常见的列表、元组、字符串等都可以通过 iter() 变成迭代器。

  • my_list = [1, 2, 3]
  • it = iter(my_list)
  • print(next(it)) # 输出 1
  • print(next(it)) # 输出 2
  • print(next(it)) # 输出 3

当没有更多元素时,调用 next() 会抛出 StopIteration 异常,表示迭代结束。

带 callable 和 sentinel 的用法

iter() 还可以接受两个参数:一个可调用对象和一个“哨兵值”(sentinel)。它会不断调用该函数,直到返回值等于哨兵值为止。

立即学习Python免费学习笔记(深入)”;

Python之模块学习 中文WORD版
Python之模块学习 中文WORD版

本文档主要讲述的是Python之模块学习;python是由一系列的模块组成的,每个模块就是一个py为后缀的文件,同时模块也是一个命名空间,从而避免了变量名称冲突的问题。模块我们就可以理解为lib库,如果需要使用某个模块中的函数或对象,则要导入这个模块才可以使用,除了系统默认的模块(内置函数)不需要导入外。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

Python之模块学习 中文WORD版 2
查看详情 Python之模块学习 中文WORD版
  • def read_data():
  • return input("输入内容(输入quit结束): ")
  • for line in iter(read_data, 'quit'):
  • print(f"你输入了: {line}")

这个用法适合处理需要持续调用某个函数直到满足条件的情况,比如读取文件流或用户输入。

自定义类中使用 iter()

在类中实现 __iter__() 方法,可以让实例成为可迭代对象。

  • class CountDown:
  • def __init__(self, start):
  • self.start = start
  • def __iter__(self):
  • return self
  • def __next__(self):
  • if self.start
  • raise StopIteration
  • self.start -= 1
  • return self.start + 1
  • cd = CountDown(3)
  • it = iter(cd)
  • print(next(it)) # 3
  • print(next(it)) # 2

这种模式适用于需要按特定逻辑逐个生成值的场景。

基本上就这些。iter() 的核心作用是统一获取迭代器的方式,让循环和数据处理更灵活。理解它有助于掌握 Python 中 for 循环和生成器的工作原理。

以上就是python中的iter()函数怎么使用?的详细内容,更多请关注php中文网其它相关文章!

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号