1. 程式人生 > >python基礎-可迭代物件

python基礎-可迭代物件

可直接用於for迴圈的物件,統稱為可迭代物件,Iterable

包括集合資料型別,如list、tuple、set、dict、str,還包括生成器

判斷一個物件是否為可迭代物件:

>>>from collections import Iterable
>>>isinstance('abc',Iterable)
True

在不使用for迴圈情況下,生成器可以用next()函式得到每一個返回值,這種可以使用next()函式的可迭代物件,叫迭代器(Iterator

判斷一個物件是否為Iterator物件

>>>from collections import Iterator
>>>isinstance('abc',Iterator)
False
>>>isinstance((x ** 2 for x in range(5)),Iterator)
True

可以使用iter()函式把Iterable轉換成Iterator

>>>a  =  iter('abc')
>>>isinstance(a,Iterator)
True

for迴圈本質上是通過呼叫next()函式來實現的,當迴圈列表之類的時候,會先自動把列表轉換為Iterator