知行编程网知行编程网  2022-12-13 16:00 知行编程网 隐藏边栏  0 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python中的迭代器是什么的相关知识,希望可以帮到处于编程学习途中的小伙伴


什么是 Python 中的迭代器


迭代器

迭代是访问集合元素的一种方式。迭代器是一个记住遍历位置的对象。迭代器对象从集合的第一个元素开始访问,直到访问完所有元素。迭代器只能前进不能后退。


1.可迭代对象

以直接作用于for循环的数据类型有以下几种:

一类是集合数据类型,如list、tuple、dict、set、str等;

一类是generator,包括生成器和带yield的generator function。

这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。


2.判断是否可以迭代

可以使用isinstance()判断一个对象是否是Iterable对象:

什么是 Python 中的迭代器

运行结果:

什么是 Python 中的迭代器

生成器不仅可以作用于for循环,还可以被next()函数不断调用并返回下一个值,直到最后抛出一个StopIteration错误表示不能返回下一个值。


3.迭代器

能被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。

什么是 Python 中的迭代器

运行结果:

什么是 Python 中的迭代器


4.iter()函数

生成器都是Iterator对象,但list、dict、str虽然是Iterable,却不是Iterator。

把list、dict、str等Iterable变成Iterator可以使用iter()函数:

什么是 Python 中的迭代器

运行结果:

什么是 Python 中的迭代器


总结

·凡是可作用于for循环的对象都是Iterable类型;

·凡是可作用于next()函数的对象都是Iterator类型

list、dict、str等集合数据类型是Iterable但不是Iterator,但是可以通过iter()函数得到一个Iterator对象。

·目的是在使用集合的时候,减少占用的内容。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享