什么是迭代?
迭代就是重復運行一段代碼語句塊的能力。分為兩種方式
- 使用遞歸函數
- 使用循環(
for或while循環)
假設有個需求,要按照降序打印10以下(包括10),0 以上的整數,用遞歸和循環都可以實現,但都要重復運行一段代碼語句,就是迭代。
遞歸函數實現
先看使用遞歸函數如何實現
def countdown(n):
if n>0:
print(n)
countdown(n-1)
else:
print('It\'s over!')
countdown(10)
從上面代碼中我們定義一個函數 countdown, 每打印一個數字,這個函數就會重復運行一次,也就是迭代一次。
循環實現 (for 和 while 循環)
先看代碼
for i in range(10, 0, -1):
print(i)
n = 10
while n>0:
print(n)
n = n-1
不論是 for 還是 while, 執行流程都會執行完語句體,之后再從語句體的最開頭循環執行,每執行一次也稱為迭代一次。
什么是遍歷?
舉個栗子,假設有一個列表 list=['a','b','c'], 我們要打印出它所有的元素,這就叫一次遍歷。
是指對一個序列中的所有元素都執行動作,就叫做遍歷。
例如對上面 list 的遍歷
list = ['a', 'b', 'c']
for i in list:
print(i)
從實現代碼可看出,這次遍歷是通過 for 循環來實現的,也就是迭代來實現的。
當然也可以不通過迭代來實現,一個一個按照下標打印出來,也能遍歷,不過效率太低了。
總結
遍歷是目的,迭代是手段。
