什么是迭代?
迭代就是重復(fù)運(yùn)行一段代碼語句塊的能力。分為兩種方式
使用遞歸函數(shù)
使用循環(huán)(for或while循環(huán))
假設(shè)有個需求,要按照降序打印10以下(包括10),0以上的整數(shù),用遞歸和循環(huán)都可以實(shí)現(xiàn),但都要重復(fù)運(yùn)行一段代碼語句,就是迭代。
遞歸函數(shù)實(shí)現(xiàn)
先看使用遞歸函數(shù)如何實(shí)現(xiàn)
defcountdown(n):
ifn>0:
print(n)
countdown(n-1)
else:
print('It\'sover!')
countdown(10)
從上面代碼中我們定義一個函數(shù)countdown,每打印一個數(shù)字,這個函數(shù)就會重復(fù)運(yùn)行一次,也就是迭代一次。
循環(huán)實(shí)現(xiàn)(for和while循環(huán))
先看代碼
foriinrange(10,0,-1):
print(i)
n=10
whilen>0:
print(n)
n=n-1
不論是for還是while,執(zhí)行流程都會執(zhí)行完語句體,之后再從語句體的最開頭循環(huán)執(zhí)行,每執(zhí)行一次也稱為迭代一次。
什么是遍歷?
舉個栗子,假設(shè)有一個列表list=['a','b','c'],我們要打印出它所有的元素,這就叫一次遍歷。
是指對一個序列中的所有元素都執(zhí)行動作,就叫做遍歷。
例如對上面list的遍歷
list=['a','b','c']
foriinlist:
print(i)
從實(shí)現(xiàn)代碼可看出,這次遍歷是通過for循環(huán)來實(shí)現(xiàn)的,也就是迭代來實(shí)現(xiàn)的。
當(dāng)然也可以不通過迭代來實(shí)現(xiàn),一個一個按照下標(biāo)打印出來,也能遍歷,不過效率太低了。
總結(jié)
遍歷是目的,迭代是手段。
以上內(nèi)容為大家介紹了Python的迭代和遍歷,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。