python中迭代器的基本方法,python创建迭代器
迭代是Python最强大的功能之一,它是访问集合元素的一种方式。迭代器是一个可以记住遍历位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有元素都被访问。迭代器只能向前,不能向后。
迭代器有iter基本方法:iterator()和next()。
字符串、列表或元组对象可用于创建迭代器:
示例(Python 3.0)
list=[1,2,3,4]
创建一个迭代器对象
Print(next(it))#输出迭代器的下一个元素
任何人
打印(下一页)
注射毒品
迭代器对象可以使用常规for语句进行遍历:
示例(Python 3.0)
#!/usr/bin/python3
list=[1,2,3,4]
创建一个迭代器对象
forxinit:
Print(x,end= )执行上述程序,输出结果如下:
234相关推荐:《Python基础教程》
也可以使用 next() 函数:
示例(Python 3.0)
#!/usr/bin/python3
Importsys#引入sys模块
list=[1,2,3,4]
创建一个迭代器对象
whileTrue:
尝试:
打印(下一页)
exceptStopIteration:
Sys.exit()执行上述程序,输出结果如下:
任何人
注射毒品
三
4创建一个迭代器
将类用作迭代器需要在类中实现两个方法__iter__()和__next__()。
如果你已经了解了面向对象编程,你就会知道所有的类都有一个构造函数。Python的构造函数是__init__(),将在对象初始化时执行。
__iter__()方法返回一个特殊的迭代器对象,该对象实现__next__()方法,并通过StopIteration异常来标识迭代的完成。
__next__()方法(Python 2中的next()将返回下一个迭代器对象。
创建一个返回数字的迭代器,初始值为1,增量为1:
示例(Python 3.0)
classMyNumbers:
def__iter__(self):
self.a=1
回归自我
def__next__(self):
x=自我
self.a=1
returnx
myclass=MyNumbers()
myiter=iter(myclass)
打印(下一个(myiter))
打印(下一个(myiter))
打印(下一个(myiter))
打印(下一个(myiter))
Print(next(myiter))执行输出结果是:
任何人
注射毒品
三
四
5StopIteration
StopIteration异常用于标识迭代的完成并防止循环的发生。在__next__()方法中,我们可以将StopIteration异常设置为在完成指定数量的循环以结束迭代后触发。
20次迭代后停止执行:
示例(Python 3.0)
classMyNumbers:
def__iter__(self):
self.a=1
回归自我
def__next__(self):
ifself.a=20:
x=自我
self.a=1
returnx
else:
提高生产率
myclass=MyNumbers()
myiter=iter(myclass)
forxinmyiter:
打印(x)执行输出结果是:
任何人
注射毒品
三
四
五
六
七
八
九
10
11
12
13
14
15
16
17
18
19
20
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。