美文网首页
生成器与迭代器

生成器与迭代器

作者: yxuang | 来源:发表于2017-10-31 17:27 被阅读0次
    1. Iterables
      任何可以用 for in 来迭代读取的都是迭代容器,例如lists,strings,files.这些迭代器非常的便利,因为你可以想取多少便取多少,但是你得存储所有的值,其中很多值都完全没有必要每次都保持在内存中。

    2. Generators
      Generators(生成器)也是可迭代的,但是你每次只能迭代它们一次,因为不是所有的迭代器都被一直存储在内存中的,他们临时产生这些值。

    生成器几乎和迭代器是相同的,除了符号[]变为()。但是你无法用两次,因为他们只生成一次:他们生成0然后丢弃,继续统计1,接着是4,一个接着一个。

    Yield的用法有点像return,除了它返回的是一个生成器,
    当你调用这个函数的时候,你写在这个函数中的代码并没有真正的运行。这个函数仅仅只是返回一个生成器对象。

    参考:http://blog.csdn.net/alvine008/article/details/43410079

    相关文章

      网友评论

          本文标题:生成器与迭代器

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