【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 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()來指定迴圈執行的次數。
range() 函數會回傳一個範圍的數字,預設從0開始執行,每次迭代增加1(預設值),結束為range()回傳的數值,自己指定的。

範例

使用range()函數:

for x in range(6):
  print(x)
上面輸出:
0
1
2
3
4
5

注意 range(6) 並不是0到6,而是0到5。

range() 函數預設值為從0開始,然而可以自定義起始值與結束值。如,range(2, 6)表示為從2到6(不包含6)範圍的數值。

範例

在range()中使用開始與結束,共2個參數:

for x in range(26):
  print(x)
上面輸出:
2
3
4
5

range() 函數預設為增加1,然而可以設定每次增加的數值,如使用第3個參數來指定,range(2, 30, 3):

範例

每次增加3個,range()如果不指定第3個參數,則預設為每次增加1:

for x in range(2303):
  print(x)
上面輸出:
2
5
8
11
14
17
20
23
26
29

For 迴圈中的Else

for迴圈中的else keyword為當迴圈結束後需要執行的程式碼區塊。

範例

列印從0到5的所有數字,並在迴圈結束後列印一個訊息:

for x in range(6):
  print(x)
else:
  print("Finally finished!")
上面輸出:
0
1
2
3
4
5
Finally finished!

注意: 如果迴圈被break 描述式停止時,這個時候的  else 區塊並不會執行。

範例

迴圈執行到x=3時使用break離開迴圈,測試else區塊是否會執行:

for x in range(6):
  if x == 3break
  print(x)
else:
  print("Finally finished!")
上面輸出:
0
1
2

巢狀Loops

一個巢狀迴圈為迴圈中還有另一個迴圈。

在裡面的那個迴圈將會在每次外部迭代迴圈執行時都會執行一次:

範例

列印每個水果的每種形容詞:

adj = ["red""big""tasty"]
fruits = ["apple""banana""cherry"]

for x in adj:
  for y in fruits:
    print(x, y)
上面輸出:
red apple
red banana
red cherry
big apple
big banana
big cherry
tasty apple
tasty banana
tasty cherry

pass 描述式

for 迴圈的內容不可以為空白的,但如果因為某種理由而必須要有個空的for迴圈,則迴圈裡面需要放pass描述式來避免直譯器產生的錯誤。

範例

for x in [012]:
  pass




留言

這個網誌中的熱門文章

【多益】現點現做的英文怎麼說呢?

《Microsoft Word 應用》:圖片被文字蓋住解決方法,不可設定為固定行高

如何在Ubuntu系統上安裝Notepad ++ (Install Notepad++ On Ubuntu 16.04 / 17.10 / 18.04 / 20.04)