python 中迭代和遍歷的區別


什么是迭代?

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

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

假設有個需求,要按照降序打印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 循環來實現的,也就是迭代來實現的。
當然也可以不通過迭代來實現,一個一個按照下標打印出來,也能遍歷,不過效率太低了。

總結

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM