生成器(Generator)和迭代器(Iterator)是 Python 中用于处理可迭代对象
-
定义方式:生成器使用函数定义,通过
yield
语句生成值,而迭代器可以通过实现__iter__
和__next__
方法来创建。 -
迭代方式:生成器是可迭代对象,可以通过
for
循环直接迭代。迭代器需要使用iter()
函数获取迭代器对象,并使用next()
函数逐步获取值。
3. 数据源****:
-
- 生成器可以根据需要生成值,可以是任意数据源,例如函数、列表、文件等。
- 迭代器通常是基于某种数据结构或容器对象的,如列表、字典等
生成器:
获取一个生成器对象 fib
,然后可以通过迭代该生成器对象来逐个获取斐波那契数列的值并打印出来。
迭代器:
__iter__
方法返回迭代器对象本身,而 __next__
方法定义了迭代器的迭代逻辑。在每次调用 __next__
方法时,迭代器会返回列表中的下一个元素
通过创建一个迭代器对象 my_iterator
并使用 for
循环来遍历该迭代器,我们可以依次获取列表 my_list
中的元素并打印出来
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!