迭代器
1.什么是迭代器(iter)
迭代器是容器型数据类型
特点:无法通过打印迭代器查看元素、也无法统计元素个数;需要使用元素的时候必须将元素从迭代器中取出,而且取出以后该元素就从迭代器中消失
2.创建迭代器
将其他序列转换成迭代器,可以是任何序列
i1 = iter('hello')
3.获取迭代器的元素
不管以什么方式获取了迭代器的元素,被获取的元素一定会从迭代器中消失
1)获取单个元素:next(迭代器)
print(next(i1))
2)遍历
i1 = iter('hello')
for x in i1:
print(f'x:{x}')
print(list(i1))
生成器
1.什么是生成器
生成器是一种容器,但是这个容器保存的不是多个数据,而是产生(创建)多个数据的算法。
同时具有迭代器保存数据的特点:
1.打印看不到内容
2.不能统计个数(不支持len操作)
3.元素也是取一个就少一个,而且不能在放回生成器中
2.创建生成器
调用一个带有yield关键的函数就可以得到一个生成器的