若是給定一個list或tuple,咱們能夠經過for循環來遍歷這個list或tuple,這種遍歷咱們稱爲迭代(Iteration)。函數
在Python中,迭代是經過for...in來完成的,而不少語言好比C語言,迭代list是經過下標完成的。spa
Python的for循環抽象程度要高於C的for循環,由於Python的for循環不只能夠用在list或tuple上,還能夠用在其餘可迭代對象上。list這種數據類型雖然有下標,但不少其餘數據類型是沒有下標的,可是,只要是可迭代對象,不管有無下標,均可以迭代。code
判斷一個對象是否可迭代對象,能夠經過collections模塊的Iterable類型判斷:對象
>>> from collections import Iterable >>> isinstance('abc', Iterable) True >>> isinstance([1, 2, 3], Iterable) True >>> isinstance(123, Iterable) False
若是要對list實現相似Java那樣的下標循環,Python內置的enumerate函數能夠把一個list變成索引-元素對,這樣就能夠在for循環中同時迭代索引和元素自己:blog
>>> for i, value in enumerate(['A', 'B', 'C']): ... print(i, value) ... 0 A 1 B 2 C