for iterating_var in sequence: statements(s)
如果一個序列中包含一個表達(dá)式列表時,它需要首先計算。然后,序列中的第一項被分配給所述迭代變量iterating_var,接下來, 語句塊被執(zhí)行。 列表中的每一項都被分配到iterating_var, 并執(zhí)行語句( statement)塊,直到整個序列完成。
>>> range(5) range(0, 5) >>> list(range(5)) [0, 1, 2, 3, 4]range() 生成一個迭代從0開始到 n-1 的整數(shù)。要獲得序列的列表對象,它可以強制轉(zhuǎn)換為list()?,F(xiàn)在,這個列表可以使用 for 語句遍歷
>>> for var in list(range(5)): print (var)
0 1 2 3 4
#!/usr/bin/python3 for letter in 'Python': # traversal of a string sequence print ('Current Letter :', letter) print() fruits = ['banana', 'apple', 'mango'] for fruit in fruits: # traversal of List sequence print ('Current fruit :', fruit) print ("Good bye!")
Current Letter : P Current Letter : y Current Letter : t Current Letter : h Current Letter : o Current Letter : n Current fruit : banana Current fruit : apple Current fruit : mango Good bye!
另一種方式是通過索引偏移迭代序列的每個項目。下面是一個簡單的例子 -
#!/usr/bin/python3 fruits = ['banana', 'apple', 'mango'] for index in range(len(fruits)): print ('Current fruit :', fruits[index]) print ("Good bye!")
Current fruit : banana Current fruit : apple Current fruit : mango Good bye!
在這里,我們使用了 len() 的內(nèi)置函數(shù),它用來計算元組的元素總數(shù),以及 range() 內(nèi)置函數(shù)用來遍歷序列順序。
如果else語句和for循環(huán)語句一起使用,else塊只在 for 循環(huán)正常終止時執(zhí)行(而不是遇到break語句)。
如果else語句用在 while循環(huán)中,當(dāng)條件變?yōu)?False 時,則執(zhí)行else語句。
#!/usr/bin/python3 numbers=[11,33,55,39,55,75,37,21,23,41,13] for num in numbers: if num%2==0: print ('the list contains an even number') break else: print ('the list doesnot contain even number')
the list doesnot contain even number