python迭代器和可迭代物件
阿新 • • 發佈:2018-12-17
迭代器
-
定義:能夠使用for-in進行遍歷,並且能夠使用next依次獲取其中一個元素。
-
說明:
- 生成器就是一種特殊的迭代器
- 判斷一個物件是不是迭代器
from collections import Iterator # lt = [i for i in range(10)] lt = (i for i in range(10)) print(isinstance(lt, Iterator))
- 字串、列表、元組、字典等都不是迭代器,它們都是可迭代物件。
可迭代物件
-
定義:可以使用for-in進行遍歷的物件,都是可迭代物件。
-
說明:
- 前面學過的容器型別都是可迭代物件。
- 迭代器一定是可迭代物件
-
判斷:一個物件是否可迭代
from collections import Iterable lt = [1, 2, 3] print(isinstance(lt, Iterable))
-
iter:將可迭代物件轉換為迭代器
from collections import Iterable, Iterator lt = [1, 2, 3] # 將一個可迭代物件轉換為迭代器 lt = iter(lt) print(isinstance(lt, Iterable)