generator_ex = (x*x for x in range(4))
print(next(generator_ex))
print(next(generator_ex))
print(next(generator_ex))
print(next(generator_ex))
print(generator_ex)
列表一次生成数据过多,对内存消耗较大,所以需要生成器来完成优化
迭代器的两个基本方法iter()、next()
#1
list = [1, 2, 3, 4]
#实例化一个迭代器
iter1 = iter(list)
#输出迭代器的下一个元素
print(next(iter1))
print(next(iter1))
print(next(iter1))
print(next(iter1))
#2
#使用for循环对迭代器进行遍历
iter2 = iter(list)
for i in iter2:
print(i, end=' ')
#3while循环输出时需通过异常防止无限循环
import sys
iter3 = iter(list)
while True:
try:
print(next(iter3))
except StopIteration:
sys.exit()
列表生成式
生成器
列表一次生成数据过多,对内存消耗较大,所以需要生成器来完成优化
迭代器的两个基本方法iter()、next()