for 循環用於迭代序列(即列表,元組,字典,集合或字符串)。
這與其他編程語言中的 for 關鍵字不太相似,而是更像其他面向對象編程語言中的迭代器方法。
通過使用 for 循環,我們可以為列表、元組、集合中的每個項目等執行一組語句。
打印 fruits 列表中的每種水果:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
注意:for 循環不需要預先設置索引變量。
通過使用 break 語句,我們可以在循環遍歷所有項目之前停止循環:
如果 x 是 “banana”,則退出循環:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x == "banana":
break
當 x 為 “banana” 時退出循環,但這次在打印之前中斷:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
break
print(x)
通過使用 continue 語句,我們可以停止循環的當前迭代,並繼續下一個:
不打印香蕉:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
continue
print(x)
Tips:for 循環中的跳出與 while 循環一樣。
甚至連字符串都是可迭代的對象,它們包含一系列的字符:
循環遍歷單詞 “banana” 中的字母:
for x in "banana":
print(x)
如需循環一組代碼指定的次數,我們可以使用 range() 函數,range() 函數返回一個數字序列,默認情況下從 0 開始,並遞增 1(默認地),並以指定的數字結束。
使用 range() 函數:
for x in range(10):
print(x)
注意:range(10) 不是 0 到 10 的值,而是值 0 到 9。
range() 函數默認 0 為起始值,不過可以通過添加參數來指定起始值:range(3, 10),這意味著值為 3 到 10(但不包括 10):
使用起始參數:
for x in range(3, 10):
print(x)
range() 函數默認將序列遞增 1,但是可以通過添加第三個參數來指定增量值:range(2, 30, 3):
使用 3 遞增序列(默認值為 1):
for x in range(3, 50, 6):
print(x)
for 循環中的 else 關鍵字指定循環結束時要執行的代碼塊:
打印 0 到 9 的所有數字,並在循環結束時打印一條消息:
for x in range(10):
print(x)
else:
print("Finally finished!")
Tips:這裡同 while 循環也是一樣的,這樣寫的也比較少。
嵌套循環是循環內的循環。
“外循環”每迭代一次,“內循環”將執行一次:
打印每個水果的每個形容詞:
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y)
for 語句不能為空,但是如果我們處於某種原因寫了無內容的 for 語句,請使用 pass 語句來避免錯誤。
for x in [0, 1, 2]:
pass
for 循環的跳出同 while 循環一樣。
但是 for 循環多用於迭代序列(即列表,元組,字典,集合或字符串)。
我們在使用 for 循環和 while 循環的時候一定要明白它們的應用場景。