可迭代对象&迭代器

来源:互联网 发布:淘宝卖家怎么处理退货 编辑:程序博客网 时间:2024/06/05 10:13

一、可以直接作用于for循环的数据类型:
1.可迭代对象(Iterable):
(1)集成数据类型(list、tuple、dict、set、str)
(2)生成器(generator)
(3)带yield的generator函数
2.迭代器(Iterator):
可以被next()函数调用并不断返回下一个值的对象。
二、如何判断一个对象是否是Iterable/Iterator?
1.判断一个对象是否是Iterable?

>>>from collections import Iterable>>>isinstance([], Iterable)

结果:True
2.判断一个对象是否是Iterator?

>>>from collections import Iterator>>>isinstance((x for x in range(10)), Iterator)

结果:True

三、如何将可迭代对象转化为迭代器?
可以使用iter()函数

>>>from collections import Iterator>>>isinstance(iter([]), Iterator)

结果:True

原创粉丝点击