可迭代物件 迭代器,生成器

2021-09-24 10:12:51 字數 470 閱讀 5386

可迭代物件(iterator):列表、集合、元組、字典、字串、生成器

我們可以使用isintance()判斷乙個物件是否是iterator物件

生成器:通過列表生成式,我們可以直接建立乙個列表,但是,受到記憶體限制,列表容量肯定是有限的,如果我們僅僅需要訪問前面幾個元素,如果列表元素可以按照某種演算法推算出來,那我們是否可以在迴圈的過程中不斷推算出後續的元素呢?這樣就不必建立完整的list,從而節省大量的空間。在python中,這種一邊迴圈一邊計算的機制,稱為生成器(generator)

迭代器:不但可以作用於for迴圈,還可以被next()函式不斷呼叫並返回下乙個值,直到最後出現stopiteration錯誤,表示無法返回下乙個值

常見的迭代器一般是生成器

可以通過iter()函式將可迭代物件轉為迭代器

可迭代物件 迭代器 生成器

可迭代物件 for迴圈機制 迭代器生成器 總結type所返回的型別是例項物件的類物件,而isinstance所進行的判斷則包含了例項物件的類物件及其父類。如圖 可迭代物件 迭代器 生成器所屬的型別分別為collections包裡的iterable,iterator,generator.實現了 ite...

可迭代物件 迭代器 生成器

名詞解釋 可迭代物件 1 遵循了 實現了 迭代器協議的物件。物件內部定義了乙個 iter 方法,以實現迭代器協議 2 列表 元組 字典 字串等等的都不是可迭代物件,當用for迴圈遍歷的時候,其實for先去執行了.iter 方法,將列表 元組 字串等變成乙個可迭代的物件,在進行迭代。iter 下有 n...

迭代,可迭代物件,迭代器,生成器詳解

1.迭代 就是在一些元素中獲取元素的過程或者一種方式 利用迴圈 2.可迭代物件 1.生成器 1.1 列表推導式 將列表推導式外括號換成 小括號 1.2 函式中包含yield關鍵字 2.列表,元組,字串,字典 使用isinstance 語句來判斷是否是可迭代物件 演示 from collections...