在Python中,,迭代器對象實現(xiàn)了 iter() 和next() 兩種方法,。String,List或Tuple對象可用于創(chuàng)建Iterator,。 ---------------------------------------------------- list = [1,2,3,4] it = iter(list) # this builds an iterator object print (next(it)) # 輸出下一個元素 1 for x in it: #完整輸出 print (x, end=" ")#2 3 4 ----------------------------------------------------- list = [1,2,3,4] it = iter(list) # this builds an iterator object #or using next() function while True: try: print (next(it)) except StopIteration: sys.exit() #you have to import sys module for this --------------------------------------------------------------- Iterable--(可迭代對象) 直接作用于for循環(huán): list,、tuple、dict,、set,、str(集合數(shù)據(jù)類型) generator--(生成器)和帶yield的generator function 生成器都是Iterator對象 generator--(生成器) Iterator--(迭代器) Iterable--(可迭代對象)list、dict,、str iter()函數(shù)--變成Iterator isinstance()判斷--Iterable(可迭代對象)--Iterator對象 next()函數(shù) StopIteration錯誤 Iterator對象--表示的是一個無限大數(shù)據(jù)流--看做有序序列(全體自然數(shù)) generator--(生成器) 可以作用于for循環(huán) 還可以被next()函數(shù)不斷調(diào)用并返回下一個值 最后拋出StopIteration錯誤,,無法繼續(xù)返回下一個值了 Iterator--(迭代器) 可以被next()函數(shù)調(diào)用 不斷返回下一個值的對象 isinstance()判斷 >>> from collections import Iterator >>> isinstance((x for x in range(10)), Iterator) True >>> isinstance([], Iterator) False >>> isinstance({}, Iterator) False >>> isinstance('abc', Iterator) False iter()函 >>> isinstance(iter([]), Iterator) True >>> isinstance(iter('abc'), Iterator) True 分享知識,,分享快樂!希望中國站在編程之巔,!
|
|