python中的迭代器

2021-10-04 21:48:55 字數 1048 閱讀 1054

目錄

什麼是迭代?

可**物件(iterable)都有哪些?

如何判斷乙個物件是否能夠被迭代

什麼是迭代器呢?

迭代是訪問容器元素的一種方式

列表 字典 元祖  字串 生成器

1,匯入 from collections import iterable或者 from collections.abc import iterable

2,用isinstance(obj,iterable)做判斷,如果返回結果是true,則可迭代,否則不能夠迭代

from collections import iterable

s="hghdgslgsld"

def diedai(s):

# 判斷是否是可迭代的物件

if isinstance(s,iterable):

for i in s:

print(i)

else:

print("此物件不能夠迭代")

diedai(s)

在python,能夠被全域性函式next呼叫,並且返回下乙個值的物件,就是迭代器

可迭代物件不一定是迭代器,迭代器都是可迭代物件

結論:凡是可作用於 for 迴圈的物件都是 iterable 型別;

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

可迭代物件不一定是迭代器,迭代器都是可迭代物件

集合資料型別如 list 、 dict 、 str 等是 iterable 但不是 iterator ,

不過可以通過iter() 函式獲得乙個 iterator 物件,傳入乙個可迭代的物件,獲得乙個迭代器iterator

目的是在使用迭代器的時候,減少記憶體的占用。

python中迭代器 python中的迭代器

如果給定乙個list或tuple,我們可以通過for迴圈來遍歷這個list或tuple,這種遍歷我們稱為迭代 iteration d for key in d print key ac b當我們使用for迴圈時,只要作用於乙個可迭代物件,for迴圈就可以正常執行,而我們不太關心該物件究竟是list還...

Python中的迭代器

可以直接作用於for迴圈的資料型別有以下幾種 一類是集合資料型別,如list tuple dict set str等 一類是generator,包括生成器和帶yield的生成器函式。這些可以直接作用於for迴圈的物件統稱為可迭代物件 iterable python的for迴圈本質上就是通過不斷呼叫n...

python中的迭代器

什麼是迭代器?迭代器是帶有next方法的簡單物件,當然也要實現 iter 函式。迭代器能在一串行的值上進行迭代,當沒有可供迭代時,next方法就會引發stopiteration 的異常。python中有很多的物件都是迭代器,例如 列表,元素,字串,檔案,對映,集合 如何使用迭代器?1.for 變數 ...