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

2022-09-11 03:30:15 字數 1610 閱讀 5364

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迴圈和索引沒關係 基於迭代器機制

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

1 l = [1,2,3]

2print

(l[0])

3 index =0

4while index5print

(l[index])

6 index+=1

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

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預設索引值為key6#

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__())

7print(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 3 print i iter x.next iter l x.iter 遵循迭代器協議,生成可迭代物件 print iter l.next for迴圈和索引沒關係 基於迭代器機制 對列表的索引 超出...