python中的for迴圈(迭代器機制)

2021-09-12 10:08:50 字數 1473 閱讀 1788

python中的for迴圈:

1 x = 'hello'

2 for i in x:#iter_x=x.__iter__()

3 print(i)#iter_x.__next__()

iter_l =x.__iter__()#遵循迭代器協議,生成可迭代物件

print(iter_l.__next__())#for迴圈和索引沒關係 基於迭代器機制

對列表的索引:【超出索引值報錯】

1 l = [1,2,3]

2 print(l[0])

3 index = 0

4 while index對集合的索引:【超出索引值報錯】

1 s =

2 iter_s = s.__iter__()

3 print(iter_s.__next__())

4 print(iter_s.__next__())

5 print(iter_s.__next__())

6 print(iter_s.__next__())

對字典的索引:【超出索引值則報錯】

1 dict = 

2 iter_d =dict.__iter__()

3 print(iter_d.__next__())

4 print(iter_d.__next__())

5 # print(iter_d.__next__())#報錯:dict預設索引值為key

6 # print(iter_d.__next__())#報錯:dict預設索引值為key

對檔案的索引:

python 中for迴圈的強大之處在於可以遍歷序列和非序列型別 例如檔案
1 f = open('位元組方式與檔案.txt','r+',encoding='utf-8')

2 text_f =f.__iter__()

3 print(text_f.__next__(),end='')

4 print(text_f.__next__())

5 print(text_f.__next__())

6 f.close()

補充:next()內建函式

1 list=['xx1','xx2','xx3','xx4']

2 iter_1=l.__iter__()

3 #print(iter_l.__next__())

4 #print(iter_l.__next__())

5 #print(iter_l.__next__())

6 #print(iter_l.__next__())

7 print(next(iter_1))#next()python內建函式 呼叫iter_l.__next__()【資料型別的內建函式】

收藏

python中for迴圈 迭代的技巧

示例如下 coding utf 8 def print elem container for elem in container print elem,end print 在迭代過程中修改迭代序列不安全,所以要修改序列時,要對它的副本做迭代,而不是原序列本身 arr 1,2,3,4 for elem...

python 迴圈(迭代)

for 和 while for用來迭代處理,什麼叫迭代?你就當沒看到這個詞,for是把一堆玩意做乙個乙個加工用的,比如吃一袋花生,得乙個乙個剝吧,就是這意思 a abcde 每個字母當做乙個花生,a是一袋子 for i in a 從袋子裡面乙個乙個拿花生,拿出的每乙個花生都起名叫小i君 i i ma...

python中的for迴圈(迭代器機制)

python中的for迴圈 1 x hello 2 for i in x iter x x.iter 3print i iter x.next iter l x.iter 遵循迭代器協議,生成可迭代物件 print iter l.next for迴圈和索引沒關係 基於迭代器機制 對列表的索引 超出索...