zoukankan      html  css  js  c++  java
  • 《生成器与迭代器》

    一、迭代器

    可迭代对象包含迭代器。
    如果一个对象拥有__iter__方法,其是可迭代对象;如果一个对象拥有next方法,其是迭代器。
    定义可迭代对象,必须实现__iter__方法;定义迭代器,必须实现__iter__和next方法。

    __iter__():该方法返回的是当前对象的迭代器类的实例

    next():返回迭代的每一步,实现该方法时注意要最后超出边界要抛出StopIteration异常

    alist=["a","b","c"] #可迭代对象 

    iter = alist.__iter__()

    dir(alist)

    二、生成器

    生成器是一种特殊的迭代器,生成器自动实现了“迭代器协议”(即__iter__和next方法),不需要再手动实现两方法。
    生成器在迭代的过程中可以改变当前迭代值,而修改普通迭代器的当前迭代值往往会发生异常,影响程序的执行

    llist = [1,2,3,4,5]

    g = (i for i in llist)

  • 相关阅读:
    表格标签
    常用标签
    标签笔记
    基础标签与格式
    态度!
    如何修改数据 练习
    增删查练习
    登陆注册练习
    PHP 数据访问
    PHP 基础知识测试题 答案分析
  • 原文地址:https://www.cnblogs.com/boye169/p/13437150.html
Copyright © 2011-2022 走看看