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

2017-07-20  本文已影响0人  panxd
    >>> 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`语句会将函数转换成一个生成器。生成器只会在发生迭代操作时运行。
上一篇 下一篇

猜你喜欢

热点阅读