python-迭代器

概念:迭代器是访问元素的一种方式,迭代器对象从第一个元素开始访问,直到所有元素被访问完结束,且只能往前访问不能后退。迭代器仅仅在访问某个元素时,

才计算该元素,而在这之前后之后,元素可以不存在或者被销毁。

迭代器有以下几个特点:

  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

-----结果-----
小鸿
小孙
小高

  

原文地址:https://www.cnblogs.com/nizhihong/p/6852754.html