1. 迭代:就是在一些元素中獲取元素的過程或者一種方式(利用迴圈…)
2. 可迭代物件:
•1.生成器
•1.1 列表推導式 將列表推導式外括號換成() 小括號
•1.2 函式中包含yield關鍵字
•2.列表,元組,字串,字典…
使用isinstance()語句來判斷是否是可迭代物件
**演示:
from collections.abc import iterable
lit =[1
,2,3
,4,5
,6]r =
isinstance
(lit, iterable)
print
(r)#輸出結果:true 列表是乙個可迭代物件
3. 迭代器
•迭代器是乙個可以記住遍歷位置的物件,迭代器物件只能從序列的第乙個元素開始訪問,直至所有元素被訪問完,並且只能往前不能往後。
•可以被next()函式呼叫並不斷返回下乙個值的物件我們稱之為迭代器 iterator
可迭代的不一定迭代器,迭代器一定是可迭代的
生成器是可迭代的,也是迭代器
列表,元組,字串,字典…是可迭代的,但不是迭代器
•使用內建函式iter()可將可迭代的(列表,元組,字串,字典…)變成迭代器
生成器是為了優化程式節省記憶體
可迭代物件 迭代器,生成器
可迭代物件 iterator 列表 集合 元組 字典 字串 生成器 我們可以使用isintance 判斷乙個物件是否是iterator物件 生成器 通過列表生成式,我們可以直接建立乙個列表,但是,受到記憶體限制,列表容量肯定是有限的,如果我們僅僅需要訪問前面幾個元素,如果列表元素可以按照某種演算法推...
可迭代物件 迭代器 生成器
可迭代物件 for迴圈機制 迭代器生成器 總結type所返回的型別是例項物件的類物件,而isinstance所進行的判斷則包含了例項物件的類物件及其父類。如圖 可迭代物件 迭代器 生成器所屬的型別分別為collections包裡的iterable,iterator,generator.實現了 ite...
可迭代物件 迭代器 生成器
名詞解釋 可迭代物件 1 遵循了 實現了 迭代器協議的物件。物件內部定義了乙個 iter 方法,以實現迭代器協議 2 列表 元組 字典 字串等等的都不是可迭代物件,當用for迴圈遍歷的時候,其實for先去執行了.iter 方法,將列表 元組 字串等變成乙個可迭代的物件,在進行迭代。iter 下有 n...