python 中迭代和遍歷的區別

什麼是迭代?

迭代就是重複運行一段代碼語句塊的能力。分爲兩種方式python

  1. 使用遞歸函數
  2. 使用循環(forwhile 循環)

假設有個需求,要按照降序打印10如下(包括10),0 以上的整數,用遞歸和循環均可以實現,但都要重複運行一段代碼語句,就是迭代。函數

遞歸函數實現

先看使用遞歸函數如何實現code

def countdown(n):
  if n>0:
    print(n)
    countdown(n-1)
  else:
    print('It\'s over!')

countdown(10)

從上面代碼中咱們定義一個函數 countdown, 每打印一個數字,這個函數就會重複運行一次,也就是迭代一次。遞歸

循環實現 (for 和 while 循環)

先看代碼class

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 循環來實現的,也就是迭代來實現的。
固然也能夠不經過迭代來實現,一個一個按照下標打印出來,也能遍歷,不過效率過低了。總結

總結

遍歷是目的,迭代是手段。while

相關文章
相關標籤/搜索