我这里讲解的是直入主题,便于初次了解,具体详解可以去自己去搜
其实迭代器也可以看作一种封装,将可迭代对象封装成迭代器,如下:
a = [3,4,5,6]
b = iter(a)
这里b就成了一个迭代器,可以用循环将里面的数取出来,如下:
a = [5,6,7,8]
z = iter(a)
for i in z:
print(i)
运行结果:
3
4
5
6
当然也可以用while的形式,注意,while是无限循环,所以需要用捕获异常的方法让他停下来:
a = [5,6,7,8]
z = iter(a)
print('对迭代器的遍历开始')
while True:
try:
print(next(z))
except StopIteration:
break
print('对迭代器的遍历结束')
然后,我们再来看一一段代码
a = [5,6,7,8]
z = iter(a)
for i in z:
print(i)
print('对迭代器的遍历开始')
while True:
try:
print(next(z))
except StopIteration:
break
print('对迭代器的遍历结束')
运行结果:
5
6
7
8
对迭代器的遍历开始
对迭代器的遍历结束
这里可以看出来,经历过一次循环之后,下一次循环就没有数据了,由此可得,迭代器是直接把元素取出来,而不是复制出来,用过一次就没了
至于更多的关于迭代器的知识,还是需要自己去扩展哇