zoukankan      html  css  js  c++  java
  • python -----关于生成器generator

    普通生成器:

    j =[x*8 for x in range(10)]#普通列表生成式
    j2 = (x*8 for x in range(10))#普通生成器 ,只需将 [ 改成( 即可。
    print(j2)#能看到打印出的是生成器的内存地址,说明生成器返回的并不是列表,生成器只是可迭代的数列算法。
    print(list(j2))#启动生成器,使其执行算法,将值返回到列表中,最终以列表的方式显现。
    next(j2)#常用来与生成器搭配,可以启动生成器,使其返回一条值
    for i in j2:
      print(i) #常用来遍历生成器,将其循环打印出来

    似函数式生成器:

    '''斐波那契数列函数(生成器):'''
    def fib(max):
      n,a,b = 0,0,1
      while n<max:
        print(b)# ------>>>将其换为 yield b 则转变为生成器<<<------
        a,b=b,a+b
        n +=1
      return 'done'
    f = fib(max) #切记将生成器赋值给变量f
    print(f.__next__())#常用来与生成器搭配,使其返回一条值,反复调用则连续返回
    for i in f :
      print(i) #遍历打印


  • 相关阅读:
    PHP 数据库连接
    php函数
    php数组基础
    Jquery元素追加和删除
    jquery获取父,同,子级元素
    深入理解css中position属性及z-index属性
    php运算符
    MySQL主键与索引的区别和联系
    php 常量
    20150408--Sphinx+邮件激活-02
  • 原文地址:https://www.cnblogs.com/goldapple/p/13113507.html
Copyright © 2011-2022 走看看