一、什麼是迭代器
迭代器是一個對象,也是訪問集合的一種方式,從集合第一個位置開始,到最後一個位置截止
二、哪些是可迭代對象
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()