python3 叠代器
阿新 • • 發佈:2017-06-19
不能 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 叠代器