码迷,mamicode.com
首页 > 其他好文 > 详细

迭代器

时间:2018-01-17 13:45:51      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:获得   方式   next   类型   无法   内存   使用   列表   比较   

为什么要用迭代器?

优点:

1,迭代器提供了一种不依赖于索引的取值方式。这样就可以便利,那些没有索引的可迭代对象了。       

   如:字典,集合,文件,列表,元组。

 

2,迭代器与列表比较,迭代器是惰性计算的,更省内存。

 缺点:

1:无法获取迭代器的长度,使用不如列表,索引取值灵活。

2,一次性的,不能重复取值,不能倒着取值。

 

Iterator迭代器,与Iterable 可迭代的

只要是可迭代的,就有.__iter__() 方法。通过.__iter__() 这个方法,转换成迭代器

查看是否迭代器,Iterator,有2种方法

1,name.__next__,查看是否有next方法

2,print(isinstance(s,Iterator))

凡是可以for循环的,都是Iterable

凡是可以next()的,都是Iterator

集合数据类型如list,truple,dict,str,都是Itrable不是Iterator,但可以通过iter()函数获得一个Iterator对象

Python中的for循环就是通过next实现的。

 

http://blog.csdn.net/passionkk/article/details/49929887

迭代器

标签:获得   方式   next   类型   无法   内存   使用   列表   比较   

原文地址:https://www.cnblogs.com/catherine007/p/8302208.html

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