首页 > 其他 > 详细

迭代器与生成器

时间:2017-01-14 00:32:45      阅读:193      评论:0      收藏:0      [点我收藏+]

迭代器:

    迭代器是一个让程序员可以遍历一个容器(特别是列表)的对象,然而,一个迭代器在遍历并读取一个容器的数据元素时,并不会执行一个迭代。

    迭代:他就是从某个地方(比如一个列表)取出一个元素的过程,当他们是一个循环来遍历某个东西时,这个过程就叫迭代

    可迭代对象:python的任意对象,只要它定义了可以返回一个迭代器的__iter__方法,或者定义了,可以支持下标索引的__getitem__方法那么他就是一个可迭代对象




生成器:

    生成器也是一种迭代器,但是你只能对其迭代一次,只是因为它们并没有把所有的值存在内存中,而是在运行时生成值。

    生成器最佳应用场景是:你不想同一时间将所有的计算出来的大量的结果分配到内存当中,特别是结果集里还包含循环。这样做回消耗大量资源。

    许多python2里的标准库函数都会返回列表,而python3都修改成了返回生成器,因为生成器占用更少的资源。



本文出自 “路小疯的疯人院” 博客,请务必保留此出处http://adonislxf.blog.51cto.com/11770740/1891810

迭代器与生成器

原文:http://adonislxf.blog.51cto.com/11770740/1891810

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!