首页 > 代码库 > 迭代器与生成器

迭代器与生成器

迭代器

name = iter(‘inter‘)
for i in name:       #循环打印出迭代器中的内容
    print(i)
    print(type(i))

<class ‘str_iterator‘>

i

<class ‘str‘>

n

<class ‘str‘>

t

<class ‘str‘>

e

<class ‘str‘>

r

<class ‘str‘>


应用在文件操作中

f = open(‘E:\暂存\新建文本文档.txt‘,‘r‘)
print(type(f))

for l in f:
    print(l)   #一行一行的打印出文件内容

f.close()


生成器

def getNum(x):
    y=0
    while y < x:
        yield y     #返回y
        y += 1
#执行的时候,函数执行到yield语句处就停止了,等待下一次迭代
        
        
g = getNum(10)
print(type(g))     #<class ‘generator‘>
#print(g.__next__())
#print(g.__next__())

for i in g:
    print(i)



迭代器与生成器