1 简介
list,tuple,dict,set都是容器,容器是可迭代对象,可迭代对象通过调用iter()函数可以得到一个迭代器。
迭代器可以通过next()函数来得到下一个元素,从而支持遍历。
生成器,迭代器,可迭代对象,容器,他们之间的关系。图片来自https://nvie.com/posts/iterators-vs-generators/
参考https://zhuanlan.zhihu.com/p/26123333
2 可迭代对象(iterable)
可直接作用于for循环的对象统称为Iterable,具体的实现是,Python 中的对象只要定义了__iter__方法(该方法返回一个迭代器对象)就是可迭代对象。
容器,list,tuple,dict,set是可迭代对象,是迭代器吗?
from collections import Iterable,Iter