for iterating_var in sequence: statements(s)
如果一個(gè)序列中包含一個(gè)表達(dá)式列表時(shí),它需要首先計(jì)算。然后,序列中的第一項(xiàng)被分配給所述迭代變量iterating_var,接下來(lái), 語(yǔ)句塊被執(zhí)行。 列表中的每一項(xiàng)都被分配到iterating_var, 并執(zhí)行語(yǔ)句( statement)塊,直到整個(gè)序列完成。

>>> range(5) range(0, 5) >>> list(range(5)) [0, 1, 2, 3, 4]range() 生成一個(gè)迭代從0開(kāi)始到 n-1 的整數(shù)。要獲得序列的列表對(duì)象,它可以強(qiáng)制轉(zhuǎn)換為list()?,F(xiàn)在,這個(gè)列表可以使用 for 語(yǔ)句遍歷
>>> 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!
另一種方式是通過(guò)索引偏移迭代序列的每個(gè)項(xiàng)目。下面是一個(gè)簡(jiǎn)單的例子 -
#!/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ù),它用來(lái)計(jì)算元組的元素總數(shù),以及 range() 內(nèi)置函數(shù)用來(lái)遍歷序列順序。
如果else語(yǔ)句和for循環(huán)語(yǔ)句一起使用,else塊只在 for 循環(huán)正常終止時(shí)執(zhí)行(而不是遇到break語(yǔ)句)。
如果else語(yǔ)句用在 while循環(huán)中,當(dāng)條件變?yōu)?False 時(shí),則執(zhí)行else語(yǔ)句。
#!/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