Python迭代器

因为了解了装饰器,想起来之前也有看到python中很神奇的迭代器,而且前两天在编程的时候,还想过,诶,python的循环for都是单纯迭代的,怎么不像C的for,还带有一个自行判断结束的参数呢?然后一想,不还有while么。。。包括当时觉得直接 for item in items又获得不了下标,后来了解可以用numerate,同时读取item和index,所以其实学问还是很多的,多了解,多用吧

参考:

Python itertools模块:生成迭代器(实例分析)

Xrange

Python2中常用类似xrange(10),生成列表进行迭代,Python3取消了xrange

1
2
>>>type(xrange(10))
<type 'list'>

python2中,range的返回值是list,这意味着内存将会分布相应的长度的空间给list

1
2
>>> type(range(10))
<class 'range'>

python3中返回的是一个对象,并没有将数据完全实例化,所以内存中只有一个对象的空间,对性能优化还是很有帮助的

0%