Python迭代器是什么?如何在Python中使用迭代器?

avatar 2020年5月15日17:46:19 评论 2,280
  Python迭代器是什么?如何在Python中使用迭代器?在python中,可以将Iterator定义为用于保存一组值的对象,该值可以在程序的迭代操作中使用。为了使用iterator对象执行迭代操作,python有两个特殊的方法,例如iter()和next()。Python允许以数字和字符串形式执行迭代,其中数据表示为迭代器对象。此功能方法有助于减少冗余并提高源代码的稳定性,而无需增加代码的长度。
Python迭代器是什么?如何在Python中使用迭代器?
  Python中的字符串也是Iterable对象,因为我们可以从中获得一个迭代器来遍历其中的每个字符。
Python迭代器是什么?如何在Python中使用迭代器?
  一.如何在Python中使用迭代器?
  1.遍历迭代器
  循环可用于遍历python中的可迭代对象。循环也使用与上述相同的过程,即它创建一个可迭代的对象,并在每个循环中继续使用next方法。
  2.使用迭代器迭代可迭代对象(列表)
  可迭代对象是一种我们可以从中获得迭代器的东西,例如一些预先构建的可迭代对象–列表,字典,字符串,元组等。
  3.创建一个迭代器
  为了创建一个对象或类作为迭代器,我们必须对对象实现迭代器协议方法__iter__()和__next__()。
  这两种方法都是必需的,以获取使对象可迭代的必要帮助。
  Iter–Iter方法始终在Iterator对象的初始化时调用。此方法始终返回__iter__object,并用于从任何对象中获取可迭代的形式。
  Next–迭代器的next方法将返回对象的下一个值。每当在“forin”循环中使用迭代器时,迭代器对象都会隐式调用next()方法。为了结束python中的无尽迭代,此方法中还添加了stopiteration条件。
  4.StopIteration
  上面说明的示例将继续执行多次,直到我们可以使用该对象打印下一个方法为止;或者,如果该示例在for循环内使用,它将无限迭代,而无需任何break语句来停止循环。为了永久停止迭代,我们必须在创建Iterable对象定义时使用StopIteration语句。StopIteration语句应写在__next__()方法内部,以添加终止条件,以在每次迭代超过指定的迭代次数时引发错误。
  5.内置迭代器
  下面的程序暗示对内置的python实体(例如list,tuple,string,dictionary)使用迭代器。说明:该程序使用迭代器“i”对四个不同的可迭代对象(如列表,元组,字符串和字典)进行迭代。
  二.了解for循环的实现
  正如我们在上面的示例中看到的,for循环可以自动迭代列表。让我们看看如何在Python中实现for循环:
Python迭代器是什么?如何在Python中使用迭代器?
  因此从技术上讲,for循环通过在可迭代对象上调用iter()来创建迭代器对象iterObject。For-Loop与无限while循环相同。在while循环内部,它调用next()检索下一个元素,然后执行for循环的主体。在检索完所有元素之后,将调用StopIteration,从而在内部结束循环。
  三.python循环的好处
  1.迭代器的主要优点如下:
  2.代码减少
  3.代码冗余得到极大解决
  4.降低代码复杂度
  5.为编码带来更大的稳定性
  每当我们处理任何列表,元组,字符串等时,Python中的迭代器都是非常有用的东西,因为它允许我们遍历整个组件,并且在需要基于数组中的条目或字符的基础上很有用。字符串等。在声明提供迭代起始值的迭代器时,我们始终要牢记在心,即通过iter对其进行初始化,并且应该在下一个方法中给出序列逻辑,以便打印序列并尝试提供StopIteration总是这样,因为它阻止了您的for循环,从而使数组超出了错误范围。
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: