當前位置:成語大全網 - 新華字典 - Python中的叠代器是什麽

Python中的叠代器是什麽

叠代器?

叠代是訪問集合元素的壹種方式。叠代器是壹個可以記住遍歷的位置的對象。叠代器對象從集合的第壹個元素開始訪問,直到所有的元素被訪問完結束。叠代器只能往前不會後退。

1.可叠代對象?

以直接作用於for循環的數據類型有以下幾種:

壹類是集合數據類型,如list、tuple、dict、set、str等;

壹類是generator,包括生成器和帶yield的generator function。

這些可以直接作用於for循環的對象統稱為可叠代對象:Iterable。

2.判斷是否可以叠代?

可以使用isinstance()判斷壹個對象是否是Iterable對象:

運行結果:

而生成器不但可以作用於for循環,還可以被next()函數不斷調用並返回下壹個值,直到最後拋出StopIteration錯誤表示無法繼續返回下壹個值了。

相關推薦:《Python視頻教程》

3.叠代器

可以被next()函數調用並不斷返回下壹個值的對象稱為叠代器:Iterator。

運行結果:

4.iter()函數?

生成器都是Iterator對象,但list、dict、str雖然是Iterable,卻不是Iterator。

把list、dict、str等Iterable變成Iterator可以使用iter()函數:

運行結果:

總結

·凡是可作用於for循環的對象都是Iterable類型;

·凡是可作用於next()函數的對象都是Iterator類型

·集合數據類型如list、dict、str等是Iterable但不是Iterator,不過可以通過iter()函數獲得壹個Iterator對象。

·目的是在使用集合的時候,減少占用的內容。

相關推薦:

三分鐘看懂什麽是Python生成器