【Python】Python - Python for迴圈。Python for Loops.
【Python】Python - Python for迴圈。Python for Loops.
Python For 迴圈
for 迴圈通常使用在迭代如list, tuple, dictionary, set或string中。
這種寫法比較像物件導向程式語言的迭代方法,而比較不像其他程式語言的for keyword。
有了for 迴圈,我們可以對每個list, tuple, set...等裡面的每個item執行程式碼。
範例
列印水果list中的每個水果:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
上面輸出:
apple
banana
cherry
The for 迴圈不要求一定需要指標變數。
對一個String使用迴圈
因為String中包含多個characters,所以為一個iterable的物件。
範例
對文字"banana"使用迴圈去列印裡面的每個字元:
for x in "banana":
print(x)
上面輸出:
b
a
n
a
n
a
break 描述式
使用break 描述式我們可以停止執行迴圈,這樣就不用將所有的items走過一遍。
範例
在x為"banana"時,離開迴圈:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x == "banana":
break
上面輸出:
apple
banana
範例
在x為"banana"時,離開迴圈,但先執行break再列印:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
break
print(x)
上面輸出:apple
continue 描述式
使用continue 描述式,我們可以停止執行目前的迭代,並從下一迭代開始的程式碼開始執行:
範例
不要列印"banana":
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
continue
print(x)
上面輸出:
apple
cherry
range() 函數
範例
使用range()函數:
for x in range(6):
print(x)
上面輸出:
012345
注意 range(6) 並不是0到6,而是0到5。
range() 函數預設值為從0開始,然而可以自定義起始值與結束值。如,range(2, 6)表示為從2到6(不包含6)範圍的數值。
範例
在range()中使用開始與結束,共2個參數:
for x in range(2, 6):
print(x)
上面輸出:
2
3
4
5
range() 函數預設為增加1,然而可以設定每次增加的數值,如使用第3個參數來指定,range(2, 30, 3):
範例
每次增加3個,range()如果不指定第3個參數,則預設為每次增加1:
for x in range(2, 30, 3):
print(x)
上面輸出:
25811141720232629
For 迴圈中的Else
在
for
迴圈中的
else
keyword為當迴圈結束後需要執行的程式碼區塊。
範例
列印從0到5的所有數字,並在迴圈結束後列印一個訊息:
for x in range(6):
print(x)
else:
print("Finally finished!")
上面輸出:
012345Finally finished!
注意: 如果迴圈被break
描述式停止時,這個時候的 else
區塊並不會執行。
範例
迴圈執行到x=3時使用break離開迴圈,測試else區塊是否會執行:
for x in range(6):
if x == 3: break
print(x)
else:
print("Finally finished!")
上面輸出:
012
巢狀Loops
一個巢狀迴圈為迴圈中還有另一個迴圈。
在裡面的那個迴圈將會在每次外部迭代迴圈執行時都會執行一次:
範例
列印每個水果的每種形容詞:
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y)
上面輸出:
red applered bananared cherrybig applebig bananabig cherrytasty appletasty bananatasty cherry
pass 描述式
for
迴圈的內容不可以為空白的,但如果因為某種理由而必須要有個空的for迴圈,則迴圈裡面需要放pass描述式來避免直譯器產生的錯誤。
範例
for x in [0, 1, 2]:
pass
留言
張貼留言