你經常需要遍歷列表的所有元素,對每個元素執行相同的操作。
python大大的圖
我的圖
首先我們定義了一個魔術師列表,里面有各個魔術師的名字,我們使用for循環來把他們的名字都變成大寫再打印出來。for循環這行代碼讓python從列表magicians中取出一個名字,并將其存儲在變量magician中。下一行是說我們讓python打印前面存儲到變量magician中的名字的大寫加感嘆號。
1.深入研究循環
for magician in magicians:
這行代碼讓python獲取列表magicians中的第一個值('alice'),并將其存儲到變量magician中,接下來,python讀取下一行代碼:
? print(magician)
它讓python打印magician的值——依然是'alice'。鑒于該列表還包含其他值,python返回到循環的第一行:
for magician in magicians:
python獲取列表中的下一個名字——'david',并將其存儲到變量magician中,再執行下面這行代碼:
? print(magician)
python再次打印變量magician的值——當前為'david'。接下來,python再次執行整個循環,對列表的最后一個值——'carolina'進行處理。至此,列表中沒有其他的值了,因此python接著執行程序的下一行代碼。在這個示例中,for循環后面沒有其他的代碼,因此程序就此結束。
剛開始使用循環時請牢記,對列表中的每個元素,都將執行循環指定的步驟,而不管列表包含多少個元素。如果列表包含一百萬個元素,python就重復執行指定的步驟一百萬次,且速度非常快。
另外,編寫for循環時,對于用于存儲列表中每個值的臨時變量,可指定任何名稱。然而,選擇描述單個列表元素的有意義的名稱大有幫助。使用單數和復數式名稱,可幫助你判斷代碼段處理的是單個列表元素還是整個列表。
2.在for循環中執行更多的操作
在for循環中,可對每個元素執行任何操作,只需在print里附加內容就行。
在for循環中,想要包含多少代碼都可以,在代碼行for magician in magicians后面,每個縮進的代碼行都是循環的一部分,且將針對列表中的每個值都執行一次。因此,可對列表中的每個值執行任意次數的操作。
前兩條print語句針對列表中每位魔術師重復進行,然而,由于第三條print語句沒有縮進,只執行一次。
下面是for循環的另一種寫法,大家都已經很熟了,就是復習一下。