您的位置:首页 > 其它

迭代器

2016-04-07 21:50 169 查看
可迭代对象:可以直接用于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
>>>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: