迭代器是什么?在python中有什么用?!!

60 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第12天
10月更文诚意加码,激发写作潜力|掘金·日新计划 - 掘金 (juejin.cn)点击查看活动详情

迭代器是一种对象,改对象包含值得可计数数字

迭代器时可迭代得对象,这意味着可以遍历所有值

从技术上来讲,迭代器是实现迭代器协议的对象,它包含方法_iter_()和_next_()

迭代器,可迭代对象

列表,元组,字典和集合都是可迭代的对象,他们是可迭代的容器,可以从中获取迭代器(iterator),所有这些对象都是用于获取迭代器的iter()方法

从元组返回一个迭代器,并打引每个值

字符串也是可迭代的对象,包含一系列字符

Stoplteration

如果你有足够的next()语句,或者在for循环中使用,则上面的例子将永远进行下去

为了防止迭代永远进行,我们可以使用stopiteration语句

在_next_()方法中,如果迭代完成指定的次数,我们可以添加一个终止条件来引发错误

20 个迭代之后停止

可能到这里还有人不懂迭代器是什么,迭代器到底是什么呢?

顾名思义就是迭代器取值的工具。实现了迭代器协议的对象(内部定义一个_iter_()方法)

如何判断一个对象是不是迭代器,通过dir方法查看其是否具备iter和next方法,来区分哪个是迭代器。

迭代器的优点:节约空间内存,循环过程中,数据不用一次次读入,在处理文件对象时很有用,而且文件也是迭代对象,不依赖索引值