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

1.11 迭代器

时间:2020-04-09 09:11:12      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:速度   开始   定义   循环   本地变量   自己   __next__   nbsp   对象   

1. 迭代器定义

1. 迭代器是访问集合内元素的方式,迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问一遍后结束

2. 迭代器仅是一容器对象,它有两个基本方法

1)next方法:返回容器的下一个元素

2)__iter__方法:返回迭代器自身


a = iter([1,2,])              #生成一个迭代器
print(a.__next__())
print(a.__next__())
print(a.__next__())           #在这一步会引发  “StopIteration” 的异常

2. 生成器和迭代器之间的区别

       在使用生成器时,我们创建一个函数;在使用迭代器时,我们使用内置函数iter()和next()。 在生成器中,我们使用关键字‘yield’来每次生成/返回一个对象。 生成器中有多少‘yield’语句,你可以自定义。 每次‘yield’暂停循环时,生成器会保存本地变量的状态。而迭代器并不会使用局部变量,它只需要一个可迭代对象进行迭代。 使用类可以实现你自己的迭代器,但无法实现生成器。 生成器运行速度快,语法简洁,更简单。 迭代器更能节约内存。

1.11 迭代器

标签:速度   开始   定义   循环   本地变量   自己   __next__   nbsp   对象   

原文地址:https://www.cnblogs.com/lihouqi/p/12664240.html

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