美文网首页
用生成器创建新的迭代方法

用生成器创建新的迭代方法

作者: panxd | 来源:发表于2017-07-20 21:56 被阅读0次
  • 1.思考:有的时候,我们会遇到这样的问题,python中常见内置方法如range(),reversed()解决不了我们的需求,我们则需要自己定义一种方法来实现。

  • 2.解决方法:使用生成器yield函数

    '''自定义方法'''
    def frange(start, end, foot):
        x = start
        while x < end:
            yield x
            x += foot
            
    
  • 3.使用方法

  • for循环对其进行迭代;

  • 可访问可迭代对象中元素的函数sum(),list()

  • 4.示例

    >>> def frange(start, end, foot):
    x = start
    while x < end:
        yield x
        x += foot

        
    >>> for i in frange(0, 5, 1.5):
        print(i,end=" ")
    
        
    0 1.5 3.0 4.5 
    >>> list(frange(0, 5, 0.125))
    [0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1.0, 1.125, 1.25, 1.375, 1.5, 1.625, 1.75, 1.875, 2.0, 2.125, 2.25, 2.375, 2.5, 2.625, 2.75, 2.875, 3.0, 3.125, 3.25, 3.375, 3.5, 3.625, 3.75, 3.875, 4.0, 4.125, 4.25, 4.375, 4.5, 4.625, 4.75, 4.875]
    >>> sum(frange(0, 5, 1))
    10
    ```
    
* 5.`注意`:
    * 函数中的`yield`语句会将函数转换成一个生成器。生成器只会在发生迭代操作时运行。

相关文章

  • 用生成器创建新的迭代方法

    1.思考:有的时候,我们会遇到这样的问题,python中常见内置方法如range(),reversed()解决不了...

  • 迭代器

    生成迭代器的三个方法1、直接生成一个生成器(生成器本身就是迭代器) 2、创建一个可迭代对象,然后通过iter函数 ...

  • Python : 生成器Generators

    生成器(Generators) 是更简单创建迭代器的方法.通过 yield 关键字实现

  • 第十天学习总结

    一、学习内容 1、Python学习了迭代器和生成器,迭代对象的创建、迭代器的两个基本的方法iter() 和 nex...

  • 生成器(Generator)

    生成器(generator)是一种特殊的迭代器,它的实现更简单优雅。创建生成器的方法主要有两种:生成器函数和生成器...

  • 【Python魔术方法】生成器(yield表达式)

    生成器是一个可以快速创建迭代器的工具,结合上文python魔术方法-迭代器进行讲解。 官方文档:https://d...

  • 可迭代对象、迭代器、生成器

    可迭代对象 --> 迭代器 --> 生成器; 可迭代对象:实现了__iter__()方法的对象,该方法返回迭代对象...

  • yield用法

    基本用法 yield的作用主要是创建生成器 generator, 生成器也是用于迭代的,想对于普通迭代对象如lis...

  • python の 可迭代、迭代器 、生成器

    生成器: 生成器是一种特殊的迭代器,生成器自动实现了“迭代器协议”(即__ iter__和__ next __方法...

  • 生成器(Generator)

    什么是生成器 生成器是一个通过构造函数 Generator 创建的对象,生成器既是一个迭代器,同时又是一个可迭代对...

网友评论

      本文标题:用生成器创建新的迭代方法

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