生成器

作者: 冥千洛 | 来源:发表于2018-07-22 20:09 被阅读0次

    创建生成器有很多种方法,第一种只要把列表生成式的【】替换成()就可以了
    如图:


    image.png

    创建f和g的区别在于外层的【】和(),f是一个列表,而g是一个生成器,我们可以直接打印出f中的每一个元素,而打印g中的元素则需要输入next()函数来获取生成器的下一个返回值

    如图: image.png

    如果推算的算法比较复杂,用for循环无法实现时,还可以用函数实现,比如斐波拉契数列不能用列表生成器写出来,但是用函数打印出来就很简单
    如图:


    image.png

    上面的函数和generator仅一步之遥。要把fib函数变成generator,只需要把print(b)改为yield b就可以了
    如图:


    image.png

    相关文章

      网友评论

          本文标题:生成器

          本文链接:https://www.haomeiwen.com/subject/onlrmftx.html