美文网首页
迭代器&生成器

迭代器&生成器

作者: Vsion8980 | 来源:发表于2018-08-13 19:57 被阅读0次

    列表推导式:

    print([i for i in range(10)])
    

    列表生成式:

    print([i*2 for i in range(20)])
    

    相当于:

    a=[]
    for i in range(20)
    a.append(i*2)
    

    以上就是用for语句迭代器


    生成器表达式:

    print((i*2 for i in range(20)))
    

    生成器函数:

    def fibon(n):
        a = b = 1
        for i in range(n):
            yield a
            a, b = b, a + b
    

    调用:

    生成器函数的调用使用*** _ _ next_ _()***方法。

    f=fibon(100)
    
    
    print(f.__next__())
    
    print(f.__next__())
    
    print(f.__next__())
    
    print("中断")
    
    for i in f :
        print(i)
    
    
    

    运行结果:


    生成器运行结果.png

    生成器被调用打印时,可随时执行其他任务,当执行完成后可以返回生成器继续打印。

    ①所有生成器都是迭代对象。
    ②可迭代对象可以使用 iter()方法使其变成迭代函数,
                使用 next()方法输出:

    list = [2,4346,7,86,4]
    
    it=iter(list)
    print(next(it))
    print(next(it))
    print(next(it))
    print('OK')
    print(next(it))
    print(next(it))
    
    迭代器.png

    相关文章

      网友评论

          本文标题:迭代器&生成器

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