概念:迭代器是访问元素的一种方式,迭代器对象从第一个元素开始访问,直到所有元素被访问完结束,且只能往前访问不能后退。迭代器仅仅在访问某个元素时,
才计算该元素,而在这之前后之后,元素可以不存在或者被销毁。
迭代器有以下几个特点:
1.访问者不需要关心迭代器内部的结构,仅需通过next()的方法不断去取下一个内容
2.不能随机访问集合中的某个值,只能从头到尾依次访问
3.访问的时候不能往回退
4.便于循环比较大的数据集合,节省内存
生成一个迭代器:
names=iter(['小鸿','小孙','小高']) print(names) -----结果----- <list_iterator object at 0x10a85e588> #list_iterator表面是一个列表迭代器
在上面的例子中,生成的是一个列表迭代器,想要取出其中值的话,是不能用列表的方法去取值的,在迭代器中,取值得用以下的方法:
names=iter(['小鸿','小孙','小高']) print(names.__next__()) print(names.__next__()) print(names.__next__()) print(names.__next__()) -----结果----- 小鸿 小孙 小高 StopIteration #没有值的时候,会给出该错误提示
遍历循环内容:
names=['小鸿','小孙','小高'] it = iter(names) try: while True: val = it.__next__() print(val) except StopIteration: pass -----结果----- 小鸿 小孙 小高