zoukankan      html  css  js  c++  java
  • 迭代器以及生成器

    迭代器的特点:

    1. 省内存
    2. 惰性机制, 不访问__next__() 就没有值.
    3. 只能向前. 不能反复.

    生成器的特点

    本质就是迭代器, 生成器函数. 就是把return换成yield

    迭代器函数:

    def func():

      pint("真好")

      return "还不错"

    如果直接执行函数func() 会打印"真好"

    n = func(),然后再打印n的话会打印" 真好",然后返回值"还不错"

    生成器函数:

    def func():

      print("真好")

      yield "还不错"

    直接执行函数不会有任何显示.

    n = func(),可以获得一个生成器对象

    然后执行print(n.__next__())遇到第一个yueld会停止运行,如果继续执行会报错StopIteration

    两种方式写生成器

      1. 生成器函数
      2. 生成器表达式

     生成器的表达式(结果 for循环 if判断)

  • 相关阅读:
    bzoj 4660
    bzoj 4668
    二项式反演学习笔记
    bzoj 3622
    bzoj 5306
    bzoj 3625
    任意模数NTT(二)
    bzoj 4913
    bzoj 3456
    多项式问题之五——多项式exp
  • 原文地址:https://www.cnblogs.com/lowen107/p/9891156.html
Copyright © 2011-2022 走看看