迭代器

可迭代对象:可以直接用于for循环的对象统称为可迭代对象:Iterable,可以通过isinstance()判断一个对象是否是可迭代对象

>>> from collections import Iterable
>>> isinstance([],Iterable)
True
>>> isinstance((),Iterable)
True
>>> isinstance('hello',Iterable)
True
>>> isinstance((x for x in range(10)),Iterable)
True
>>> isinstance(1,Iterable)
False
>>> 

迭代器:不但可以作用于for循环,还可以被next()函数不断调用并返回下一个值的对象称为迭代器:Iterator

同样可以通过isinstance()判断一个对象是不是迭代器对象

>>> from collections import Iterator
>>> isinstance((x for x in range(10)),Iterator)
True
>>> isinstance([],Iterator)
False
>>> isinstance((),Iterator)
False
>>> isinstance('hello',Iterator)
False

可以使用Iter()函数把list、dict、str等Iterable变为Iterator

>>> isinstance(iter([]),Iterator)
True
>>> isinstance(iter('hello'),Iterator)
True
>>> isinstance(iter(()),Iterator)
True
>>> 
原文地址:https://www.cnblogs.com/zhaoyujiao/p/5365647.html