• 生成器,迭代器的区别


    迭代器是遵循迭代协议的对象。用户可以使用 iter() 以从任何序列得到迭代器(如 list, tuple, dictionary, set 等)。另一个方法则是创建一个另一种形式的迭代器 —— generator 。要获取下一个元 素,则使用成员函数 next()(Python 2)或函数 next() function (Python 3) 。当没有元素时,则引 发 StopIteration 此例外。若要实现自己的迭代器,则只要实现 next()(Python 2)或 ()( Python 3) 

    生成器(Generator),只是在需要返回数据的时候使用yield语句。每次next()被调用时,生成器会返 回它脱离的位置(它记忆语句最后一次执行的位置和所有的数据值)

    区别: 生成器能做到迭代器能做的所有事,而且因为自动创建iter()和next()方法,生成器显得特别简 洁,而且生成器也是高效的,使用生成器表达式取代列表解析可以同时节省内存。除了创建和保存程序 状态的自动方法,当发生器终结时,还会自动抛出StopIteration异常。 

  • 相关阅读:
    Linux忘了root的密码怎么办
    缩略图的实现
    ASP.NET程序编写注意 (转载)
    太极拳
    Linux系统管理技巧大荟萃
    茶经(转载)
    datagrid的显示控制
    太极功
    Linux下硬盘分区详解
    Tomcat4.0中文问题简单解决方法
  • 原文地址:https://www.cnblogs.com/sea-stream/p/13593779.html
Copyright © 2020-2023  润新知