標籤:列表 迭代 imp port div name ext cti 字串
字串,列表,元組,字典,集合,產生器這些能通過for迴圈來遍曆的資料類型都是可迭代對象
可通過isinstance判斷是不是可迭代對象
>>> from collections import Iterable>>> isinstance(‘Python‘, Iterable)True>>> isinstance([1,2,3], Iterable)True>>> isinstance((1,2,3), Iterable)True>>> isinstance({‘name‘:‘John‘,‘age‘:22}, Iterable)True>>> isinstance({1,2,3}, Iterable)True>>> isinstance((i*2 for i in range(10)), Iterable)True>>> isinstance(100, Iterable)False
isinstance也可以判斷是不是迭代器
>>> from collections import Iterator>>> isinstance(‘Python‘, Iterator)False>>> isinstance([1,2,3], Iterator)False>>> isinstance((1,2,3), Iterator)False>>> isinstance({‘name‘:‘John‘,‘age‘:22}, Iterator)False>>> isinstance({1,2,3}, Iterator)False>>> isinstance((i*2 for i in range(10)), Iterator)True>>> isinstance(100, Iterator)False
可見可迭代對象不一定是迭代器,但迭代器是可迭代對象
如果要把可迭代對象變為迭代器,可以使用iter()方法
>>> from collections import Iterator>>> isinstance(iter(‘Python‘), Iterator)True>>> isinstance(iter([1,2,3]), Iterator)True>>> isinstance(iter((1,2,3)), Iterator)True>>> isinstance(iter({‘name‘:‘John‘,‘age‘:22}), Iterator)True>>> isinstance(iter({1,2,3}), Iterator)True
迭代器可以用next()方法取資料,跟產生器一樣
Python函數(十二)-迭代器