zoukankan      html  css  js  c++  java
  • 列表表达式,生成器表达式,

    列表表达式

    #普通代码
    result=[]
    for i in [1,2,3]
        result.append[i*i]
    print(result)
    
    #列表表达式
    print([i*i for i in [1,2,3]])

    生成器表达式:

      把列表解析的[]换成()得到的就是生成器表达式;列表解析与生成器表达式都是一种便利的编程方式,只不过生成器表达式更节省内存

    laomuji=('鸡蛋%s' %i for i in range(10))        #生成器表达式
    print(laomuji)                                 #返回生成器地址<generator object <genexpr> at 0x000001E17AF23BA0>
    print(next(laomuji))                           #输出结果为:鸡蛋0
    print(laomuji.__next__())                      #输出结果为:鸡蛋1
    print(next(laomuji))                           #输出结果为:鸡蛋2
                                                   #next(laomuji)等价于laomuji.__next__()

    列表表达式与生成器表达式之间互转:

    
    
    print([i/2 for i in range(100)])  # 列表表达式
    list = (i/2 for i in range(100))  # 生成器表达式
    print(list.__next__())
    
    print([i*i for i in range(30) if i % 3 is 0])
    list = (i*i for i in range(30) if i % 3 is 0)
    print(list.__next__())
    
    
    
     
  • 相关阅读:
    软件开发术语
    网络规划与设计
    MPLS LDP协议
    MPLS 基础
    CallAfter
    LongRunningTasks
    Non-blocking GUI
    WorkingWithThreads
    Python: Running Ping, Traceroute and More
    wxPython and Threads
  • 原文地址:https://www.cnblogs.com/jassin-du/p/7828851.html
Copyright © 2011-2022 走看看