Python高階 可迭代物件和迭代器

2021-09-28 01:56:12 字數 1614 閱讀 6946

collections模組

總結(1)list:列表

例如:

執行結果:

(2)set:元組

例如:

執行結果:

(3)tuple:集合

例如:執行結果:

(4)dict:字典

例如:

執行結果:

(5)str:字串

例如:

執行結果:

(6)generator:生成器

例如:

執行結果:

ps:生成器是典型的迭代器。

能夠被next呼叫,並且返回下乙個值的叫做迭代器。

系統內建模組,用於判斷變數

#可以使用全域性函式中的isinstance( )做判斷

from collections import iterator

from collections import iterable

x = …

print(isinstance(x,iterator))

print(isinstance(x,iterable))

iterator用於判斷該變數是不是迭代器物件

iterable用於判斷該變數是不是可迭代物件

ps:(1)迭代器物件是可迭代物件,可迭代物件不一定是迭代器。

(2)全域性函式中的iter( )可將乙個迭代物件轉換為迭代器。

1.凡是可作用於 for 迴圈的物件都是 iterable 型別;

2.凡是可作用於next( )函式的物件都是 iterator 型別;

3.集合資料型別如 list、tuple、set、dict 等是 iterable 物件而不是 iterator 物件;

4.iterator 物件一定是 iterable 物件,而 iterable 物件不一定是 iterator 物件;

5.可以通過全域性函式中的iter( )將 iterable 物件轉換為 iterator 物件,目的是減少占用的記憶體。

Python高階專題 可迭代物件協議以及迭代器

1.迭代協議與可迭代物件 只有實現了迭代協議 iter 才可以稱為可迭代物件 2.迭代器 訪問集合內元素的方式,用於遍歷資料,但是無法返回,提供了惰性訪問資料,同時實現了 iter 以及 next 協議 from collections.abc import iterable,iterator it...

python迭代和如何判斷乙個物件是可迭代物件

可以理解為,任意的集合使用for迴圈遍歷 python中,迭代永遠是取出元素本身,而非元素的索引。對於有序集合,有時候會需要取出元素的索引,可以使用python內建的enumerate函式。enumerate函式可以把乙個list變成索引 元素對,這樣就可以在for迴圈中同時迭代索引和元素本身。li...

Python的可迭代物件和迭代器物件

迭代器指的是迭代取值的工具,迭代是指乙個重複的過程,每一次重複都是基於上一次結果而來,迭代提供了一種通用的不依賴索引的迭代取值方式 但凡內建有 iter 方法的物件,都稱為可迭代物件,可迭代的物件 str,list,tuple,dict,set,檔案物件 1.既內建又 next 方法的物件,執行該方...