python中迭代器和生成器的区别是啥?
在网上搜了下,也没有看明白
2条回答 默认 最新
关注
什么是迭代器?迭代器是可以像我们在 for 循环中那样迭代的对象。我们也可以说迭代器是一个对象,它一次返回一个元素。也就是说,在我们明确要求他们的下一个项目之前,他们不会做任何工作。它们的工作原理在计算机科学中称为惰性求值。惰性求值是一种求值策略,它将表达式的求值延迟到真正需要它的值。由于 Python 迭代器的惰性,它们是处理无穷大的好方法,即可以永远迭代的可迭代对象。您几乎找不到不与迭代器配合使用的 Python 程序。
迭代器是 Python 的一个基本概念。您已经在第一个 Python 程序中了解到可以迭代容器对象,例如列表和字符串。为此,Python 创建了列表或字符串的迭代器版本。在这种情况下,迭代器可以被看作是一个指向容器的指针,它使我们能够迭代这个容器的所有元素。迭代器是一种抽象,它使程序员能够访问可迭代对象(集合、字符串、列表等)的所有元素,而无需深入了解该对象的数据结构。
生成器是一种特殊的函数,它使我们能够实现或生成迭代器。
大多数情况下,迭代器是隐式使用的,就像在 Python 的 for 循环中一样。
https://blog.csdn.net/pythonandaiot/article/details/122312653 可以看看这个
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 stm32f103zet6 串口5无法收发数据
- ¥15 宝塔面板的data内存要怎么清理呢
- ¥15 关于C语言使用线程队列实现多线程并发
- ¥15 这个运行,错误在哪里呀,大家看看吧,教导我
- ¥15 advanceinstaller对话框设置
- ¥100 正常上网,内部网页无法打开
- ¥15 组件库引入并使用在若依框架未展示
- ¥149 关于#使用python 的Flash Echarts+ajax+mysql动态数据实现饼图#的问题,请各位专家解答!
- ¥15 RichTextBox中追加文本时报错
- ¥15 关于c语言的学习问题