python中迭代器的基本方法,python创建迭代器

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: