新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
怎么在python中利用next返回迭代器?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
成都创新互联公司专业为企业提供市中网站建设、市中做网站、市中网站设计、市中网站制作等企业网站建设、网页设计与制作、市中企业网站模板建站服务,10余年市中做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。在python中有不少对于集合迭代的方法,我们把程序运行后的再一次循环叫做迭代,每一次都循环都可以看做是一次迭代。那么在迭代结束后,我们需要使用next函数来返回迭代器中。接下来我们就next的用法、参数、返回值、在python中返回迭代器的实例给大家进行展示。
1.next()用法
next(iterator[, default])
2.参数说明
iterable -- 可迭代对象
default -- 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。
3.返回值
返回下一个项目。
4.实例
class test(): def __init__(self,data=1): self.data = data def __next__(self): if self.data > 5: raise StopIteration else: self.data+=1 return self.data t = test(3) for i in range(3): print(t.__next__())
输出:
4
5
6
迭代器的用法:
首先说两个概念,一个是可迭代的对象,一个是迭代器对象,两个不同
可迭代的(Iterable):就是可以for循环取数据的,比如字典、列表、元组、字符串等,不可使用next()方法。
迭代器(Iterator),也是可以依次迭代取出数据的对象,在内存空间是这样存储的:
可以使用isinstance()方法来判断一个对象是可迭代对象还是迭代器对象
比如:
>>> a = [x for x in range(3)] #生成一个列表 >>> from collections import Iterable #导入Iterable模块 >>> isinstance(a,Iterable) #使用isinstance(“”,Iterable)判断是否是可迭代的 True #返回True >>> from collections import Iterator #导入Iterator模块 >>> isinstance(a,Iterator) #使用isinstance(“”,Iterator)判断是否是迭代器对象 False #返回False
从上面的结果可以看出来,列表是一个可迭代的对象,但是不是迭代器,同样的字典,元组,字符串也不是迭代器,另外,数字既不是迭代器对象,也不是可迭代的对象。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联网站建设公司,的支持。