在Python中,如果給定一個list或tuple,我們可以通過for循環來遍歷這個list或tuple,這種遍歷我們成爲迭代(Iteration)。
在Python中,迭代是通過 for ... in 來完成的,而很多語言比如C或者Java,迭代list是通過下標完成的,比如Java代碼:
for (i=0; i<list.length; i++) {
n = list[i];
}
可以看出,Python的for循環抽象程度要高於Java的for循環。
因爲 Python 的 for循環不僅可以用在list或tuple上,還可以作用在其他任何可迭代對象上。
因此,迭代操作就是對於一個集合,無論該集合是有序還是無序,我們用 for 循環總是可以依次取出集合的每一個元素。
注意: 集合是指包含一組元素的數據結構,我們已經介紹的包括:
1. 有序集合:list,tuple,str和unicode;
2. 無序集合:set
3. 無序集合並且具有 key-value 對:dict
而迭代是一個動詞,它指的是一種操作,在Python中,就是 for 循環。
迭代與按下標訪問數組最大的不同是,後者是一種具體的迭代實現方式,而前者只關心迭代結果,根本不關心迭代內部是如何實現的。
練習:請用for循環迭代數列 1-30並打印出7的倍數
代碼參考:
#方法一:for循環
for i in range(1, 31):
if i % 7 == 0:
print("方法一結果:", i)
print("--------------------------")
#方法二:切片
for x in range(1, 31)[6::7]:
print("方法二結果:", x)