掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
1、迭代:

創(chuàng)新互聯(lián)長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為向陽企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站制作,向陽網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
迭代是通過重復(fù)執(zhí)行的代碼處理相似的數(shù)據(jù)集的過程,并且本次迭代的處理數(shù)據(jù)要依賴上一次的結(jié)果繼續(xù)往下做,上一次產(chǎn)生的結(jié)果為下一次產(chǎn)生結(jié)果的初始狀態(tài),如果中途有任何停頓,都不能算是迭代。例如:
(1)非迭代例子
loop = 0
while loop < 3:
print("Hello world!")
loop += 1(2)迭代例子
loop = 0 while loop < 3: print(loop) loop += 1
例1僅是循環(huán)3次輸出" Hello world!",輸出的數(shù)據(jù)不依賴上一次的數(shù)據(jù),因此不是迭代。
相關(guān)推薦:《python入門教程》
2、可迭代對(duì)象(Iterable):
可迭代對(duì)象并不是指某種具體的數(shù)據(jù)類型,它是指存儲(chǔ)了元素的一個(gè)容器對(duì)象,且容器中的元素可以通過__iter__( )方法或__getitem__( )方法訪問。
(1)__iter__方法的作用是讓對(duì)象可以用for ... in循環(huán)遍歷,__getitem__( )方法是讓對(duì)象可以通過“實(shí)例名[index]”的方式訪問實(shí)例中的元素。這兩個(gè)方法的目的是Python實(shí)現(xiàn)一個(gè)通用的外部可以訪問可迭代對(duì)象內(nèi)部數(shù)據(jù)的接口。
(2)一個(gè)可迭代對(duì)象是不能獨(dú)立進(jìn)行迭代的,Python中,迭代是通過for ... in來完成的。凡是可迭代對(duì)象都可以直接用for… in…循環(huán)訪問,這個(gè)語句其實(shí)做了兩件事:第一件事是調(diào)用__iter__()獲得一個(gè)可迭代器,第二件事是循環(huán)調(diào)用__next__()。
3、常見的可迭代對(duì)象包括:
a.集合數(shù)據(jù)類型,如list、tuple、dict、set、str等;
b.生成器(generator),包括生成器和帶yield的生成器函數(shù)(generator function)。
4、如何判斷一個(gè)對(duì)象是可迭代對(duì)象呢?
可以通過collections模塊的Iterable類型判斷,具體判斷方法如下:
from collections import Iterable
isinstance('', Iterable) #返回True,表明字符串也是可迭代對(duì)象 
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流