zoukankan      html  css  js  c++  java
  • 表达式 推导式 生成式

    一、三元表达式

    name='abc'
    res='SB' if name=='abc' else 'NB'
    print(res)#SB

    二、列表推导式

    公式:[变量(加工后的变量)for 变量i in 可迭代的数据类型]

    # 求10以内所有的整数(不包括0)
    list1=[i for i in range(1,11)]
    print(list1)#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    
    #30以内所有能被3整除的数
    list2=[i for i in range(30) if i % 3==0]
    print(list2)#[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
    
    
    #找到嵌套列表中名字含有两个'e'的所有名字
    names=[['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],
             ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]
    list3=[name for lst in names for name in lst if name.count('e')>=2]
    print(list3)#['Jefferson', 'Wesley', 'Steven', 'Jennifer']

    三、字典推导式

    #将一个字典的key和value对调
    dict1={'a':10,'b':20,'c':30,'d':40}
    swapDict={dict1[k]: k for k in dict1}
    print(swapDict)#{10: 'a', 20: 'b', 30: 'c', 40: 'd'}

    四、集合推导式

    #将列表中的每个元素平方并去重
    squared={x**2 for x in [1,-1,2]}
    print(squared)#{1,4}

    五、生成器表达式

      把列表解析的[]换成()得到的就是生成器表达式

      列表解析与生成器表达式都是一种便利的编程方式,只不过生成器表达式更节省内存

    result=[i for i in range(1,6)]
    obj=(i for i in range(1,6))
    print(obj)#<generator object <genexpr> at 0x00000000021DF678>
    print(list(obj))#[1, 2, 3, 4, 5]
  • 相关阅读:
    函数是什么?
    设置mac笔记本为固定ip
    JMeter-充值-生成随机数
    JMeter_方案上架,遇到的问题及解决
    做有态度的测试做
    JMeter-标的上架调整与完成
    上标-担保机构
    JMeter已传值但是提示为空
    JMeter上架标的(yyb-csg)
    JMeter中的正则表达式的匹配
  • 原文地址:https://www.cnblogs.com/z-x-y/p/9178079.html
Copyright © 2011-2022 走看看