美文网首页
Python的 itertools模块

Python的 itertools模块

作者: idok | 来源:发表于2018-01-24 15:26 被阅读0次

在复习Python基本语法的时候,看到了迭代器模块,做一个简单的笔记。

Iterable:

所谓可迭代数据流,即能直接参与for循环的数据类型:Iterable
一类是集合数据类型,如list / tuple / dict / set / str /等;
一类是generator,包括生成器和带yield的generator function。
关于带yield的函数可以参考廖老师的教程https://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/
另外,生成器本身的next()函数也可以持续返回下一个值

Iterator:

迭代器,可以被next()函数调用并不断返回下一个值的对象称为迭代器。
所以,list / tuple / dict / set / str 之流是无法成为迭代器的,因为的Iterator对象表示的是一个不限大小的数据流,Iterator对象可以被next()函数调用并不断返回下一个数据,直到没有数据时抛出StopIteration错误。可以把这个数据流看作是一个有序序列,但我们却不能提前知道序列的长度,只能不断通过next()函数实现按需计算下一个数据,所以Iterator的计算是惰性的,只有在需要返回下一个数据时它才会计算。
集合数据类型如 list / dict / str / 等是Iterable可迭代对象但不是Iterator迭代器,不过可以通过iter()函数可以获得一个Iterator对象。

最后,帮助文档在这里https://docs.python.org/2/library/itertools.html#itertools.count

相关文章

  • python itertools

    PYTHON-进阶-ITERTOOLS模块小结

  • 每周一个 Python 模块 | itertools

    系列文章列表:每周一个 Python 模块 | functools Python 标准库模块 itertools ...

  • itertools

    python 模块itertools 提供了非常有用的用于操作迭代对象的函数。 首先,我们看看itertools...

  • python itertools 模块讲解

    1、介绍 itertools 是python的迭代器模块,itertools提供的工具相当高效且节省内存。 使用这...

  • Day16内建模块itertools&urllib

    itertools Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数。首先,我们看看...

  • python itertools 模块讲解

    1、介绍itertools 是python的迭代器模块,itertools提供的工具相当高效且节省内存。使用这些工...

  • itertools

    Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数。 首先,我们看看itertools...

  • python学习-itertools模块

    Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数。 首先,我们看看itertools...

  • Python的itertools模块

    python的自建模块itertools提供了非常有用的用于操作迭代对象的函数。 首先,我们看看itertools...

  • python itertools

    这货特别强大,所以我要深入了解一下:itertools 是python的迭代器模块,itertools提供的工具相...

网友评论

      本文标题:Python的 itertools模块

      本文链接:https://www.haomeiwen.com/subject/dmjuaxtx.html