Python语言编程中迭代器是,python中迭代器和生成器的区别

  Python语言编程中迭代器是,python中迭代器和生成器的区别

  一。介绍

  迭代器是一种用来迭代值的工具,而迭代是一种重复反馈过程的活动,其目的通常是为了逼近期望的目标或结果。过程的每次迭代称为一次迭代,每次迭代得到的结果将作为下一次迭代的初始值。简单的重复不是迭代。

  While true: msg=input(:)。strip () print (msg)下面的while循环是一个迭代过程,不仅满足重复,而且将每次重新赋值后的索引值作为下一次循环的新索引来取值。经过反复迭代,终于可以穷尽列表中的值。

  Goods=[MAC , Lenovo , Acer , Dell , dony ]index=0 while index len(goods):print(goods[index])index=1 1.1迭代对象

  通过索引进行迭代值选择很容易实现,但只适用于序列类型:字符串、列表、元组。对于没有索引的字典、集合等非顺序类型,需要找到一种不依赖索引的方法来迭代值,所以使用迭代器。

  要想知道迭代器是什么,必须事先知道一个非常重要的概念:Iterable object。从语法上讲,所有带有__iter__方法的对象都是可迭代的。对象、字符串、列表、元组、字典、集合和打开的文件都是可迭代的。

  A=赵薇 b=[1,2,3] c=(1,2,3) d={a: 1, b: 2} e={a , b , c} with open (a.txt,mode=)

  调用obj返回的结果。Iterator()方法是一个迭代器对象。迭代器对象是内置迭代器和next方法的对象,打开的文件本身就是迭代器对象。执行迭代器对象。iterator()方法在执行迭代器时仍然获取迭代器本身。next()方法将计算迭代器中的下一个值。Iterator是python提供的一种统一的、独立于索引的迭代取值方法。只要有多个值,不管是序列类型还是非序列类型,值都可以作为迭代器。

  S={1,2,3} #迭代对象s i=iter(s) #本质上是在调用s.__iter__(),返回s的迭代器对象I . next(I)#本质上是在调用I. _ _ next _ () 1Next (I) 2Next (I) 3 .

  使用迭代器,我们可以独立于索引获得值。while循环实现如下。

  Goods=[MAC , Lenovo , Acer , Dell , Sony ]I=ITER(goods)while true:try:print(next(I))except stop iteration:# catching exception终止循环的循环中断称为迭代循环,in中任何iterable对象都可以跟在后面。以上所述

  Goods=[MAC , Lenovo , Acer , Dell , Sony ]for iterator in globals():print(iterator)for loop工作时会调用iterable对象Goods内置的迭代方法得到一个iterable对象,然后调用iterable对象的下一个方法将得到的值赋给item执行一次循环体。

  迭代器的优点和缺点

  基于索引的迭代值将所有迭代的状态保存在索引中,而基于迭代器的迭代方法不再需要索引,所有迭代状态都保存在迭代器中。然而,这种方法有利也有弊。

  3.1优势:

  1.它为序列和非序列提供了统一的迭代方法。

  2.惯性计算:迭代器对象代表一个数据流,只能在需要计算一个值的时候调用next。就迭代器本身而言,同一时间内存中只有一个值,所以可以存储无限个数据流。对于其他容器类型,比如列表,所有元素都需要存储在内存中。由于内存大小的限制,可以存储的值的数量是有限的。

  3.2缺点:

  1.迭代器的长度除非用尽,否则无法获得。

  2.只能取一个值,不能回到起点。更像是‘一次性’的。爸爸安全产生后的唯一目标就是反复执行方法,直到值用尽,否则你就停留在某个位置,等待下一次对next的调用;如果要再次迭代同一个对象,只能再次调用iter方法创建一个新的iterator对象。如果有两个或更多的循环使用同一个迭代器,只有一个循环会得到值。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • python语言基本语句用法总结大全,python语言基本语句用法总结怎么写
  • python语言基本语句用法总结大全,python语言基本语句用法总结怎么写,python语言基本语句用法总结
  • python是一种什么类型的计算机语言,python语言是一种什么类型的编程语言
  • Python的保留字符,python语言中的保留字
  • python的指数e怎么表示,指数函数在python语言中怎么表示
  • python语言合法的变量命名,在python中变量的命名要注意哪些问题
  • python变量命名可以用中文吗,下面哪一个不是python语言合法的变量命名
  • Python分词库,用python语言中文分词第三方库jieba对文件data
  • python中复数类型的实部和虚部都是浮点数,python语言中,复数类型中实数部分和虚数部分
  • 用python语言判断一个数是否为素数,Python判断是不是素数
  • python语句变量命名规则,python语言命名变量规则
  • 简述python语言程序的特点,以下关于python语言技术特点
  • matlab中for循环的用法例子,python语言for循环语句
  • Python主网站,python语言的官方网站
  • 用python开发的软件有哪些,哪些工具可以使用python语言开发软件
  • 留言与评论(共有 条评论)
       
    验证码: