for循環在Python中有遍歷所有序列的項目,如列表或一個字符串。
語法:
for循環語法如下:
for iterating_var in sequence: statements(s)
如果一個序列包含一個表達式列表,計算第一個。然后,在序列中的第一項被分配給迭代變量iterating_var。接著,語句塊被執行。列表中的每個項目分配給iterating_var,并且statement塊被執行,直到整個序列完成(到尾部)。
流程圖:
例子:
#!/usr/bin/pythonfor letter in 'Python': # First Example print 'Current Letter :', letterfruits = ['banana', 'apple', 'mango']for fruit in fruits: # Second Example print 'Current fruit :', fruitprint "Good bye!"
當執行上面的代碼,產生以下結果:
Current Letter : PCurrent Letter : yCurrent Letter : tCurrent Letter : hCurrent Letter : oCurrent Letter : nCurrent fruit : bananaCurrent fruit : appleCurrent fruit : mangoGood bye!
通過遍歷序列索引:
通過每個項目進行迭代的一種替代方法是:通過索引偏移量序列本身。下面是一個簡單的例子:
#!/usr/bin/pythonfruits = ['banana', 'apple', 'mango']for index in range(len(fruits)): print 'Current fruit :', fruits[index]print "Good bye!"
當執行上面的代碼,產生以下結果:
Current fruit : bananaCurrent fruit : appleCurrent fruit : mangoGood bye!
在這里,我們采用內置函數len(),它計算元組元素的總數量以及range()內置函數給我們的實際遍歷順序。
循環使用else語句
Python支持與循環語句相關聯的else語句。
如果else語句與for循環使用,執行else語句時,循環已經迭代完成列表。 如果在else語句使用while循環,當條件為假時,else語句被執行。下面的例子演示了一個else語句,語句搜索素數從10到20的組合。
#!/usr/bin/pythonfor num in range(10,20): #to iterate between 10 to 20 for i in range(2,num): #to iterate on the factors of the number if num%i == 0: #to determine the first factor j=num/i #to calculate the second factor print '%d equals %d * %d' % (num,i,j) break #to move to the next number, the #first FOR else: # else part of the loop print num, 'is a prime number'
當執行上面的代碼,產生以下結果:
10 equals 2 * 511 is a prime number12 equals 2 * 613 is a prime number14 equals 2 * 715 equals 3 * 516 equals 2 * 817 is a prime number18 equals 2 * 919 is a prime number
新聞熱點
疑難解答