码迷,mamicode.com
首页 > 编程语言 > 详细

python-迭代器详解

时间:2017-03-20 14:32:53      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:python   迭代器   iter   

本来在写生成器,但是生成器就是一种特殊的迭代器,所以我觉得还是先把迭代器写一下。

什么是迭代

可以直接作用于for循环的对象统称为可迭代对象(Iterable)。

可以被next()函数调用并不断返回下一个值的对象称为迭代器(Iterator)。

所有的Iterable均可以通过内置函数iter()来转变为Iterator

迭代类型

1,for循环:可用于任何可迭代的对象,实际上对python中所以会从左到右扫描对象的迭代工具而且都是如此,这些迭代工具包括了for循环,列表解析,in成员关系测试以及map内置函数等。

2.文件迭代器:因为文件对象就是自己的迭代器,优点是:(减少内存的使用,不需要把所以内容都加载到内存中)

3,手动迭代:iter和next

   通过for循环开始时,会通过它传给iter内置函数,以便从可迭代对象中获取一个跌打器,返回的对象含有需要的next方法(这一步对于文件来说不是必须的,因为文件对象就是自己的迭代器)

例如:

#文件
>>> import tab
>>> f=open("test","r")
>>> iter(f) is f
True
#序列字符串
>>> a=[1,2,3,4]
>>> iter(a) is a
False

liefs

本文出自 “王小酸” 博客,请务必保留此出处http://wangaimin.blog.51cto.com/8499946/1908361

python-迭代器详解

标签:python   迭代器   iter   

原文地址:http://wangaimin.blog.51cto.com/8499946/1908361

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!