Python中的列表生成器,迭代器的理解

   首先,思考一个问题,比如,我们想生成0—100的列表,我们怎么做?

   当然,可以写成

list1=[1,2,3...,100]

   可以看出,这种方法不适合生成长的列表,那么Python中就可以利用已有的列表,生成新的列表,叫做列表生成式,下面就很简洁了

list2=[x for x in range(1,101)]

   list1和list2是一样的,只是list2更简单

   比列表生成式更进一步的是,是列表生成器generator

g=(x*2  for x in range(1,101))

g是一个生成器,在需要的时候会根据某种算法计算出来,而不用存储在内存中,节约了空间,需要使用的时候就可以像普通列表一样

    next方法:返回迭代器的下一个元素

  __iter__方法:返回迭代器对象本身

 

posted @ 2017-12-07 14:45  懂得了才能做一些改变  阅读(389)  评论(0编辑  收藏  举报