一、什么是迭代器
迭代器是一个对象,也是访问集合的一种方式,从集合第一个位置开始,到最后一个位置截止
二、哪些是可迭代对象
1、list、set、tuple、dict、str
2、generator对象(生成器和yield)
注:可迭代对象不一定是迭代器(可以使用next)
如何判断是否是可迭代对象
from collections import Iterable
isinstance([],Iterable)=>true
isinstance({},Iterable)=>true
isinstance('',Iterable)=>true
isinstance((x for x in range(10)),Iterable)=>true
isinstance(100,Iterable)=>false
如何判断是否是迭代器(可否使用next())
from collections import Iterable
isinstance([],Iterable)=>false
isinstance({},Iterable)=>false
isinstance('',Iterable)=>false
isinstance((x for x in range(10)),Iterable)=>true
isinstance(100,Iterable)=>false
list 、 dict 、 str 虽然是 Iterable ,却不是 Iterator 。
把 list 、 dict 、 str 等 Iterable 变成 Iterator 可以使用 iter() 函数:
三、使用示例
a = (x for x in range(10))
a.next()