python中迭代器和生成器的区别,python中迭代器的作用_1

  python中迭代器和生成器的区别,python中迭代器的作用

  

  迭代器

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

  1.可迭代对象

  以下数据类型直接作用于for循环:

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

  第一类是生成器,包括生成器和带yield的生成器函数。

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

  2.判断是否可以迭代

  您可以使用isinstance()来确定一个对象是否是可迭代对象:

  运行结果:

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

  相关:《Python视频教程》

  3.迭代器

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

  运行结果:

  4.iter()函数

  生成器是迭代器对象,但list、dict、str是可迭代的,但不是迭代器。

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

  运行结果:

  总结

  可在for循环中使用的所有对象都是可迭代类型;

  所有可以在next()函数中使用的对象都是迭代器类型。

  设置list、dict、iter等数据类型。是可迭代的但不是迭代器,但是你可以通过Iterator()函数得到一个迭代器对象。

  目的是减少使用集合时占用的内容。

  相关建议:

  三分钟理解什么是Python生成器。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: