• 三元表达式;列表、字典、集合生成式


    一、三元表达式:

     """

    三元表达式固定表达式
    值1 if 条件 else 值2
    条件成立 值1
    条件不成立 值2
    """

    运用场景:当某个条件成立做一件事,不成立做另外一件事。

    例1

    x = 99999
    y = 9898898
    res = x if x > y else y
    # 如果if后面的条件成立返回if前面的值 否则返回else后面的值
    print(res)

    例2:

    name = input('输入你的名字:>>>')
    res = 'cool' if name == 'luke' else 'sb'
    print(res)

    二、列表生成式

      res = [name_x for name_x in list if +条件]

      当我们拿到一个列表,但需求只对列表内数值进行操作修改。

      例:l = ['tom','nick','oscar','sean']   #  需求名字后+_sb

    l = ['tom','nick','oscar','sean']
    res = ['%s_sb'%name for name in l]
    print(res)  #  输出  ['tank_sb', 'nick_sb', 'oscar_sb', 'sean_sb']
    
    #  进阶 添加取舍条件
    l = ['tank_sb', 'nick_sb', 'oscar_sb', 'sean_sb','jason_NB']
    res = [name for name in l if name.endswith('_sb')]
    print(res)   #输出 ['tank_sb', 'nick_sb', 'oscar_sb', 'sean_sb']

       案例二中添加 if条件   ps:if后面不支持添加else

          先for循环依次取出列表里面的每一个元素

          然后交由if判断 条件成立才会交给for前面的代码

          如果条件不成立 当前的元素 直接舍弃

    li = [1,2,3,4,5,6,7]
    res = ['%s+%s'%(y,y)for y in li ]
    print(res)  # 输出 ['1+1', '2+2', '3+3', '4+4', '5+5', '6+6', '7+7']
    View Code

    三、字典生成式

    li = [1,2,3,4,5,6,7,8]
    d = { i : j for i , j in enumerate(li,1) if  j  != 1}
    print(d)  # 输出 {2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8}

    四、集合生成式

    res = {i for i in range(10) if i != 4}
    print(res)  # 输出 {0, 1, 2, 3, 5, 6, 7, 8, 9}

    五、生成器表达式

    res1 = (i for i in range(10) if i != 4)  # 这样写不是元组生成式 而是生成器表达式
    print(res1)
    for i in res1:
        print(i)
     '''
    输出
    <generator object <genexpr> at 0x0000000001E20E08>
    0
    1
    2
    3
    5
    6
    7
    0
    9
    '''
    View Code
  • 相关阅读:
    uni_app 跳转到外部html5 的页面 (web-view) 的一些使用
    vue初学备份(动态切换class类)
    MySQL数据库基本操作
    蛋疼的JavaScript(二)this
    Java中的String,StringBuffer和StringBuilder
    LintCode_1 单例模式
    [转载]C语言EOF是什么?
    Python中的枚举
    对BOM的总结
    python类相关总结(持续更新)
  • 原文地址:https://www.cnblogs.com/xiaowangba9494/p/11177159.html
Copyright © 2020-2023  润新知