1. 程式人生 > >python3 叠代器

python3 叠代器

不能 pytho inpu open hello pri font style strong

一 、什麽是叠代
1、 重復
2、下次重復一定是基於上一次的結果而來


while True:
cmd=input(‘:‘)
print(cmd)


l=[1,2,3,4]
count=0
while count < len(l):
print(l[count])
count+=1


二、 可叠代對象:obj.__iter__

三 、叠代器:iter1=obj.__iter__()
1 iter1.__next__
2 iter1.__iter__

iter1.__next__()
iter1.__next__()

iter1.__next__()

叠代器:
優點:
1 不依賴索引
2 惰性計算,節省內存

缺點:
1 不如按照索引的取值方便
2 一次性,只能往後取,不能回退
l=[1,2,3]
for i in l: # obj=l.__iter__()
print(i)



叠代器的應用:
1、提供了一種不依賴索引的統一的叠代方法
2、 惰性計算,比如取文件的每一行



list = [1,2,3,4,5]
i = iter(list) #叠代器函數
print(i.__next__())
print(i.__next__())
print(i.__next__())
print(i.__next__())
print(i.__next__())


i = list.__iter__() #叠代器對象
i.__next__()

s1=‘hello‘
s1.__iter__()
l=[1,2,3]
l.__iter__()
t=(1,2,3)
t.__iter__()
set1={1,2,3}
set1.__iter__()
d={‘a‘:1,‘b‘:2,‘c‘:3}
d.__iter__()


f=open(‘db.txt‘,encoding=‘utf-8‘)
print(f.__next__())

python3 叠代器