迭代器对象就是实现了–next–方法和 --iter–方法的,缺一不可
迭代器对象一点是可迭代对象反之就不一定了
迭代器实现了工厂模式。实现了懒加载,节约了内存空间。我的理解就是,只给一个开头,后面的随用随取。不像可迭代对象。给了开头和结尾
from itertools import count
a = count(start=10)
print(next(a))
print(next(a))
print(next(a))
print(next(a))
print(next(a))
print(next(a))
怎么判断是不是一个迭代器
from itertools import count
from collections import Iterator
a = count(start=10)
print(isinstance(a,Iterator))
那怎么把一个可迭代对象转变为一个迭代器对象呢
from itertools import count
a = count(start=10)
print(type(a))
b = [1,2,3,4,5]
bb = iter(b) # 通过 iter 强转
print(type(bb))
有一个特性就是 ,迭代器对象里的元素,被取出来后,就没有了。
b = [1,2,3,4,5]
bb = iter(b) # 通过 iter 强转
for c in bb:
print(c)
print('............')
for c in bb:
print(c)