列表推导式:
print([i for i in range(10)])
列表生成式:
print([i*2 for i in range(20)])
相当于:
a=[]
for i in range(20)
a.append(i*2)
以上就是用for语句的迭代器。
生成器表达式:
print((i*2 for i in range(20)))
生成器函数:
def fibon(n):
a = b = 1
for i in range(n):
yield a
a, b = b, a + b
调用:
生成器函数的调用使用*** _ _ next_ _()***方法。
f=fibon(100)
print(f.__next__())
print(f.__next__())
print(f.__next__())
print("中断")
for i in f :
print(i)
运行结果:
生成器运行结果.png
生成器被调用打印时,可随时执行其他任务,当执行完成后可以返回生成器继续打印。
①所有生成器都是迭代对象。
②可迭代对象可以使用 iter()方法使其变成迭代函数,
使用 next()方法输出:
list = [2,4346,7,86,4]
it=iter(list)
print(next(it))
print(next(it))
print(next(it))
print('OK')
print(next(it))
print(next(it))
迭代器.png
网友评论