一、使用break語句
在for循環中使用break語句可以優雅的終止循環,break語句用於跳出當前循環語句,該語句後面的代碼都不會執行。
for i in range(1, 11):
if i == 5:
break
print(i)
執行以上代碼,輸出結果為:
1
2
3
4
以上代碼中,在循環執行到i等於5時,break語句被執行,循環就提前終止了。
二、使用while循環
使用while循環可以達到與break相同的效果。通過改變循環條件,當條件不滿足時退出循環。
i = 1
while i < 11:
if i == 5:
break
print(i)
i += 1
執行以上代碼,輸出結果為:
1
2
3
4
以上代碼中,使用while循環代替for循環,當循環條件不滿足時退出循環。
三、使用else語句
在for循環中使用else語句可以優雅地終止循環。當沒有執行循環語句內部的break語句時,for循環執行完後會執行else語句。
for i in range(1, 11):
if i == 15:
break
print(i)
else:
print("循環執行完畢")
執行以上代碼,輸出結果為:
1
2
3
4
5
6
7
8
9
10
循環執行完畢
以上代碼中,for循環沒有執行break語句,所以else語句也會被執行。
四、使用enumerate()函數
在使用for循環時,如果還需要獲取當前循環到第幾個元素,可以使用enumerate()函數來獲取。
words = ["apple", "banana", "cherry"]
for i, word in enumerate(words):
if i == 1:
break
print(i, word)
執行以上代碼,輸出結果為:
0 apple
以上代碼中,使用enumerate()函數獲取當前循環到的元素位置,當位置為1時,使用break語句終止循環。
五、使用迭代器
python中任何一個可迭代對象都可以使用迭代器遍歷,與for循環不同的是,迭代器可以使用next()函數手動獲取下一個元素。使用try…except語句捕獲StopIteration異常,當所有元素被遍歷後終止循環。
words = ["apple", "banana", "cherry"]
iterator = iter(words)
while True:
try:
word = next(iterator)
if word == "banana":
break
print(word)
except StopIteration:
break
執行以上代碼,輸出結果為:
apple
以上代碼中,使用iter()函數將列錶轉換為迭代器,使用next()函數手動獲取下一個元素,當元素為”banana”時,使用break語句終止循環。
六、使用函數封裝代碼
當需要優雅地終止多個for循環時,可以將代碼封裝成函數,使用return語句終止函數的執行。
def print_until_banana(words):
for word in words:
if word == "banana":
return
print(word)
words = ["apple", "banana", "cherry"]
print_until_banana(words)
執行以上代碼,輸出結果為:
apple
以上代碼中,將代碼封裝成函數print_until_banana(),當元素為”banana”時,使用return語句終止函數的執行。
七、總結
本文介紹了優雅的終止python for循環的七種方式,包括使用break語句、使用while循環、使用else語句、使用enumerate()函數、使用迭代器以及使用函數封裝代碼。在實際開發中,選擇合適的方式可以讓代碼更加簡潔、優雅、可讀性更強。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/256681.html