可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。
目的是在使用集合的时候,减少占用的内容。
以直接作用于for循环的数据类型有以下几种:
一类是集合数据类型,如list、tuple、dict、set、str等;
一类是generator,包括生成器和带yield的generator function。
这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。
可以使用isinstance()判断一个对象是否是Iterable 对象:
isinstance(对象,Iterable)
如果结果为True
只是表示,这些对象以使用for循环迭代遍历
可以使用isinstance()判断一个对象是否是Iterator对象:
isinstance(对象,Iterator)
如果结果为True,表示这个对象可以for,next
iter()函数:
生成器都是Iterator对象,但list、dict、str虽然是Iterable,却不是Iterator。
把list、dict、str等Iterable变成Iterator可以使用iter()函数