1 迭代器简介
需要明白几个概念
- 容器(container):一种把多个元素组织在一起的数据结构,可迭代,可用 in, not in进行判断。可迭代是因为它是可迭代对象,并不是容器本身的特性。
- 可迭代对象(iterable):可迭代对象描述的是对象的一种状态为可迭代 iteration),可以用for循环进行迭代遍历,包括常见的dict、list、set、file、socket等
- 迭代器(iterator):是一个带状态的对象,可用next()方法对其进行操作,并保存当前状态,就是一个懒加载的工厂,等到有人需要的时候才给它生成值返回,没调用的时候就处于休眠状态等待下一次调用。
- 生成器(generator):是一种迭代器,具备迭代器的所有功能
- 列表等(list,dict,set):数据的表达方式,产生容器。