在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__())
输出:
Python迭代器的用法4
5
6
迭代器的用法:
首先说两个概念,一个是可迭代的对象,一个是迭代器对象,两个不同
可迭代的(Iterable):就是可以for循环取数据的,比如字典、列表、元组、字符串等,不可使用next()方法。
迭代器(Iterator),也是可以依次迭代取出数据的对象,在内存空间是这样存储的:<list_iterator object at 0x01E35770>占用内存小,并且可以使用next()方法依次取数据
可以使用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
从上面的结果可以看出来,列表是一个可迭代的对象,但是不是迭代器,同样的字典,元组,字符串也不是迭代器,另外,数字既不是迭代器对象,也不是可迭代的对象。
到此这篇关于next在python中返回迭代器的实例方法的文章就介绍到这了,更多相关next如何在python中返回迭代器内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!
您可能感兴趣的文章:Python设计模式之迭代器模式原理与用法实例分析Python使用设计模式中的责任链模式与迭代器模式的示例python 使用cycle构造无限循环迭代器彻底搞懂python 迭代器和生成器五分钟带你搞懂python 迭代器与生成器Python迭代器协议及for循环工作机制详解实例讲解Python 迭代器与生成器Python迭代器Iterable判断方法解析python迭代器常见用法实例分析学会迭代器设计模式,帮你大幅提升python性能