迭代器
迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,知道所有的元素被访问完结束。迭代器只能往前不会后退。
可以被next()函数调用并不断返回下一个值的对象称为迭代器:lterator。
可迭代对象
以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如list,tuple,dict,set,str等;
一类是generator,包括生成器和带yield 的generator function.
这些可以直接作用于for循环的对象统称为可迭代对象:iterable
可以使用isinstance()判断一个对象是否是lterable对象,而生成器不但可以作用于for循环,还可以被next()函数不断调用并返回下一个直,直到最后抛出Stoplteration错误标识无法继续返回下一个值了。
iter()函数
生成器都是lterator对象,但list,dict,str虽然是lterable,却不是lterator。
把list,dict,str等lterable变成lterator可以使用iter()函数
总结
1,凡是可作用于for循环的对象都是lterable类型;
2,凡是可作用于next()函数的对象都是lterator类型
3,集合数据类型如list,dict,str等都是lterable但不是lterator,不过可以通过iter()函数获得一个iterator对象。
Python高级
最新推荐文章于 2024-05-11 22:19:11 发布