Python 迭代器Iterator學習筆記

2021-09-10 18:21:16 字數 1118 閱讀 4502

我們已知的可以迭代的值包括,基本資料型別如listtupledictsetstr等,和generator,者皆通稱為可迭代物件,即iterable,可以通過isinstance()判斷值是否是可迭代物件

>>> from collections import iterable

>>> isinstance(, iterable)

true

>>> isinstance({}, iterable)

true

而迭代器是指可以被for迴圈,且可以用next()呼叫的值,我們也可以使用isinstance()判斷,是否是迭代器

>>> from collections import iterator

>>> isinstance((x for x in range(10)), iterator)

true

>>> isinstance(, iterator)

false

>>> isinstance({}, iterator)

false

>>> isinstance('abc', iterator)

false

因為listdictstr等資料型別,不能使用next()方法所以不是迭代器,但是可以通過iter()方法將其變成迭代器

>>> isinstance(iter(), iterator)

true

>>> isinstance(iter('abc'), iterator)

true

iterator最主要的用途,就在於iterator是惰性的,在沒有用到那個值,時不進行計算儲存,節省記憶體且可以用來儲存乙個無限大的資料流

python高階特性5 迭代器 Iterator

python五個高階特性 切片 迭代列表生成式 生成器迭代器 我們已經知道,可以直接作用於for迴圈的資料型別有以下幾種 一類是集合資料型別,如list tuple dict set str等 一類是generator,包括生成器和帶yield的generator function。這些可以直接作用...

python 迭代器 python迭代器

迭代器 可以直接作用for迴圈的資料型別 我們已經知道,可以直接作用for迴圈的資料型別有以下幾種 一類是集合資料型別 如 list tuple dict set str等 一類是generator,包括生成器和帶yield的generator function 可迭代物件定義 這些可以直接作用fo...

python的迭代器 Python 迭代器

迭代器 迭代是訪問集合元素的一種方式。迭代器是乙個可以記住遍歷的位置的物件。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。可迭代物件 以直接作用於 for 迴圈的資料型別有以下幾種 一類是集合資料型別,如 list tuple dict set str 等...