for 循環提供了python中最強大的循環結構(for循環是一種迭代循環機制,而while循環是條件循環,迭代即重複相同的邏輯操做,每次操做都是基於上一次的結果,而進行的)python
Python for循環能夠遍歷任何序列的項目,如一個列表或者一個字符串。ide
for循環的通常格式以下:函數
for iter_var in iterable:ui
suite_to_repeatspa
註解:每次循環, iter_var 迭代變量被設置爲可迭代對象(序列, 迭代器, 或者是其餘支持迭代的對 象)的當前元素, 提供給 suite_to_repeat 語句塊使用.code
python for循環實例對象
msg="hello egon 666" for i in (msg): print(i)
執行結果以下blog
C:\Python36\python.exe C:/Users/張寧陽/Desktop/test/day7/做業.py h e l l o e g o n 6 6 6 Process finished with exit code 0
name_list=['alex','eric','rain','xxx'] #經過序列項迭代 for i in name_list: print(i) #經過序列索引迭代 for i in range(len(name_list)): print('index is %s,name is %s' %(i,name_list[i])) #基於enumerate的項和索引 for i,name in enumerate(name_list,2): print('index is %s,name is %s' %(i,name))
遍歷可迭代對象或迭代器:排序
迭代對象:就是一個具備next()方法的對象,obj.next()每執行一次,返回一行內容全部內容迭代完後,索引
迭代器引起一 個 StopIteration 異常告訴程序循環結束. for 語句在內部調用 next() 並捕獲異常.
for循環遍歷迭代器或可迭代對象與遍歷序列的方法並沒有二致,只是在內部作了調用迭代器next(),並捕獲異常,終止循環的操做
不少時候你根本沒法區分for循環的是序列對象仍是迭代器
>>> f=open('a.txt','r') for i in f: print(i.strip()) hello everyone sb
若是你須要遍歷數字序列,可使用內置range()函數。它會生成數列。
range()語法:
range(start,end,step=1):顧頭不顧尾
例如:
>>>for i in range(5): ... print(i) ... 0 1 2 3 4
注:for基於range()實現計數循環,range()生成可迭代對象,說明for循環本質仍是一種迭代循環
你也可使用range指定區間的值:
>>>for i in range(5,9) : print(i) 5 6 7 8 >>>
您能夠結合range()和len()函數以遍歷一個序列的索引,以下所示:
>>>a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ'] >>> for i in range(len(a)): ... print(i, a[i]) ... 0 Google 1 Baidu 2 Runoob 3 Taobao 4 QQ >>>
同while
#break #continue for i in range(10): if i == 4: # break continue print(i) for+else for i in range(10): print(i) break else: print('===>')
九九乘法表
for i in range(1,10): for j in range(1,i+1): print("%d*%d=%d" % (j, i, i * j), end=' ') print(' ')
albums = ('Poe', 'Gaudi', 'Freud', 'Poe2') years = (1976, 1987, 1990, 2003) #sorted:排序 for album in sorted(albums): print(album) #reversed:翻轉 for album in reversed(albums): print(album) #enumerate:返回項和 for i in enumerate(albums): print(i) #zip:組合 for i in zip(albums,years): print(i) 複製代碼