在Python中,for循環是一種迭代函數。如果你有一個類似列表的序列對象,你可以使用for循環來迭代列表中包含的項目。
for循環的功能與其他多個編程語言中看到的功能沒有太大不同。
在本文中,我們將詳細探討Python中的for循環,並學習如何迭代不同的序列,包括列表、元組等。此外,我們還將學習使用break和continue語句來控制循環的流程。
何時使用for循環
每當你需要重複執行一個代碼塊固定次數時。如果你不知道它必須重複的次數,請改用“while循環”語句。
for循環Python語法
Python中for循環的基本語法看起來類似下面提到的一樣。
Python for loop語法詳解
- 語句的第一個單詞以關鍵詞“for”開頭,表示for循環的開始。
- 然後是迭代器變量,它遍歷序列並可以在循環內部使用以執行各種功能
- 接下來是Python中的“in”關鍵詞,告訴迭代器變量在序列中循環的元素
- 最後,我們有序列變量,它可以是列表、元組或任何其他類型的迭代器。
- 循環的語句部分是您可以使用迭代器變量並執行各種功能的地方
使用for循環打印字符串的個別字母
Python字符串是一系列字符。如果在您的任何編程應用程序中,您需要逐個檢查字符串的字符,您可以在這裡使用for循環。
這是如何工作的。
輸出:
這個循環之所以有效,是因為Python將“字符串”視為一系列字符,而不是將字符串視為整體。
使用for循環迭代Python列表或元組
列表和元組是可迭代對象。現在讓我們看看如何遍歷這些對象中的元素。
輸出:
現在,讓我們繼續並開始遍歷元組的元素。
嵌套Python for循環
當我們在另一個for循環內部有一個for循環時,它被稱為嵌套for循環。嵌套for循環有多種應用。
考慮上述列表示例。for循環從列表中打印出單詞。但如果我們想要打印出列表中每個單詞的各個字符呢?
這就是嵌套for循環更好的地方。第一個循環(父循環)將逐個遍歷單詞。第二個循環(子循環)將遍歷每個單詞的字符。
輸出
A nested loop is structurally similar to nested if
statements
Python for循環與range()函數
Python range是內置函數之一。當您希望for循環運行特定次數,或者需要指定要打印的對象範圍時,range函數非常適用。
在使用range()
時,您可以將1到3個整數參數傳遞給它:
start
表示序列開始的整數值,如果不包含此值,則start
從0開始stop
始終是必需的,並且是計數到但不包含的整數。step
設置下一次迭代增加的量(或在負數情況下減少的量),如果省略則step
默認為 1
考慮以下示例,我想打印數字 1、2 和 3:
range 函数除了起始和停止之外,還接受另一個參數。這是 步驟參數。它告訴 range 函数在每個計數之間跳過多少數字。
在下面的示例中,我使用數字 3 作為步驟,你可以看到輸出的數字是上一個數字 + 3。
我們還可以為我們的 step
參數使用負值來反向迭代,但我們將不得不相應地調整我們的 start
和 stop
參數:
這裡,100 是 start
值,0 是 stop
值,-10
是範圍,所以循環從 100 開始,以每次迭代減少 10 結束。這在輸出中發生:
Output100
90
80
70
60
50
40
30
20
10
在Python编程中,for
循环通常利用range()
序列类型作为其迭代的参数。
带有for循环的break语句
break语句用于提前退出for循环。当满足特定条件时,它用于中断for循环。
假设我们有一个数字列表,我们想要检查一个数字是否存在。我们可以遍历数字列表,如果找到数字,则跳出循环,因为我们不需要继续遍历剩余的元素。
在这种情况下,我们将使用Python的if else条件以及我们的for循环。
带有for循环的continue语句
我们可以在for循环中使用continue语句来跳过特定条件下的for循环体的执行。
假設我們有一個數字列表,我們想要打印出正數的總和。我們可以使用 continue 陳述來跳過負數的 for 迴圈。
Python for 迴圈與 else 區塊
我們可以在 Python for 迴圈 中使用 else 區塊。當 for 迴圈 不是因為 break 陳述而終止時,else 區塊才會執行。
假設我們有一個函數,如果所有數字都是偶數,我們才要打印數字的總和。
如果存在奇數,我們可以使用 break 陳述來終止 for 迴圈。我們可以在 else 部分打印總和,這樣它只有在 for 迴圈正常執行時才會打印。
使用順序資料類型的 For 迴圈
列表和其他資料序列類型也可以作為for
迴圈中的迭代參數。與遍歷range()
不同,您可以定義一個列表並遍歷該列表。
我們將一個列表賦值給一個變量,然後遍歷該列表:
在這種情況下,我們打印出列表中的每一個項目。儘管我們使用了變量shark
,我們可以將變量命名為任何其他有效的變量名稱,我們將得到相同的輸出:
Outputhammerhead
great white
dogfish
frilled
bullhead
requiem
上面的輸出顯示for
迴圈遍歷了列表,並將列表中的每個項目逐行打印。
列表和其他基於序列的資料類型,如字符串和元組常用於與迴圈一起使用,因為它們是可迭代的。您可以將這些資料類型與range()
結合使用,例如:
Output['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem', 'shark', 'shark', 'shark', 'shark', 'shark', 'shark']
在這裡,我們為每個sharks
列表的長度添加了一個佔位字符串'shark'
。
您還可以使用for
迴圈從頭開始構建一個列表:
在這個例子中, integers
列表被初始化為空,但 for
循環通過以下方式填充列表:
Output[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
同樣,我們可以遍歷字符串:
OutputS
a
m
m
y
遍歷元組的格式與上面遍歷列表或字符串的格式相同。
當遍歷字典時,重要的是要牢記鍵:值結構,以確保您調用字典的正確元素。這是一個同時調用鍵和值的示例:
Outputname: Sammy
animal: shark
location: ocean
color: blue
在使用帶有 for
循環的字典時,迭代變量對應於字典的鍵, dictionary_variable [iterating_variable]
對應於值。在上面的例子中,迭代變量 key
被用來代表鍵, sammy_shark [key]
被用來代表值。
循環通常用於遍歷和操作連續的數據類型。
結論
Python中的for循環與其他編程語言非常相似。我們可以使用break和continue語句來改變執行方式。但是,在Python中,我們也可以使用可選的else塊。
I hope you have gained some interesting ideas from the tutorial above. If you have any questions, let us know in the comments below.
從這裡開始,你可以通過閱讀關於while迴圈和break、continue和pass語句的教程來繼續學習。
要在項目中使用for
迴圈,請參考以下教程:
Source:
https://www.digitalocean.com/community/tutorials/how-to-construct-for-loops-in-python-3