迭代器和生成器的区别,迭代器是什么

  迭代器和生成器的区别,迭代器是什么

  迭代器介绍概念:

  迭代器是一个迭代值的工具。迭代是一个重复的过程,每次重复都是基于上一次的结果。简单的重复不是迭代。

  特点:

  它不依赖于索引,而是通过下一个指针(内存地址寻址)迭代所有数据。一次只取一个值,而不是一次将所有数据都放入内存。

  迭代器对象1。什么是可迭代对象?

  任何具有内置__iter__方法的人都可以称为可迭代对象。

  2.属于迭代的对象有

  列表字典元组集合文件对象

  3.迭代对象在调用double lower iter方法时会变成迭代器对象。

  内置__iter__和__next__方法的对象称为迭代器对象。

  4.调用double next方法的迭代器对象正在迭代值。

  for循环内部采用了这一原则。

  迭代器对象可以节省内存空间,并提供一种不依赖于索引值的方式。

  iterable对象中变量名的“”for循环的基本原理:

  For循环体代码

  1.in后面的iterable对象称为double iterator,成为iterator对象。

  迭代器对象可以无限制地调用双迭代器或迭代器对象本身。

  2.让生成的迭代器对象调用double next迭代值。

  3.一旦值完成,double next方法会报错,for循环会自动捕捉并处理迭代器的优缺点:

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

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

  缺点:

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

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

  转载请联系作者获得授权,否则将追究法律责任。

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

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