美文网首页python
Python 生成器

Python 生成器

作者: 亮哥007 | 来源:发表于2019-02-17 22:32 被阅读0次

    为什么要用生成器?

    我们可以用列表存储数据,可是当数据特别大是建立一个列表存储数据就会很占用内存。所以,如果列表元素可以通过某种算法推算出来,那我们就可以在数据处理过程中不断的推算出新的后续元素,这样不必创建完整的数据列表可以节省内存空间

    创建生成器有3种方法:

    1.通过生成表达式
    2.通过yield关键字
    3.使用内置函数xrange()

    1. 通过生成表达式

    将列表生成表达式的[]改成(),就可以创建一个生成器

    l = [x * x for x in range(2)]
    print 'l type is ', type(l)
    
    g = (x * x for x in range(2))
    print 'g type is ', type(g)
    

    程序打印结果

    l type is  <type 'list'>
    g type is  <type 'generator'>
    

    2. 通过yield关键字

    def generator(g):
        n = 0
        while n < g:
            yield n
            n += 1
            
    g = generator(2)
    print 'g type is ', type(g)
    for i in g:
        print i
    

    程序打印结果

    g type is  <type 'generator'>
    0
    1
    

    3. 通过xrange()函数

    g = xrange(2)
    print 'g type is ', type(g)
    for i in g:
        print i
    

    程序打印结果

    g type is  <type 'generator'>
    0
    1
    

    总结

    Python在数据处理另外被广泛使用,生成器功不可没

    相关文章

      网友评论

        本文标题:Python 生成器

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