zoukankan      html  css  js  c++  java
  • 三元表达式,列表,集合,字典生成式,元组生成器表达式

    三元表达式:就是if...else...的语法糖

    # 用于简化 if...else...的语法结构
    # 只能解决if...else...结构,其他if分支结构都不管
    #  一个分支提供一个结果: 如果一个分支提供了多个结果, 将多个结果通过元组返回
    
    def my_max(x,y):
        if x > y:
            return x
        else:
            return y
    
    # res = x if x > y else y   三元表达式
    
    三元表达式固定表达式
        值1 if 条件 else 值2
    条件成立 得到值1
    条件不成立 得到值2

    列表生成式

    # 列表ls = [变量i for 变量i in 容器类数据 if 条件]  #其他if分支结构不支持
    
    # 先for循环依次取出容器里面的每一个元素
    # 然后交由if判断  条件成立才会交给for前面的代码
    # 将元素加到列表中 # 如果条件不成立 当前的元素 直接舍弃 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']

    集合生成式

    # 集合se = {变量i for 变量i in 容器类数据 if 条件}  #其他if分支结构不支持
    
    # 先for循环依次取出容器里面的每一个元素
    # 然后交由if判断  条件成立才会交给for前面的代码
    # 将元素加到集合中
    # 如果条件不成立 当前的元素 直接舍弃
    
    res = {i for i in range(10) if i != 4}
    print(res)
    结果 # {0, 1, 2, 3, 5, 6, 7, 8, 9}

    字典生成式

    # 字典dic = {变量i:变量j for 变量i,变量j in enumerate(列表数据) if 条件}  #其他if分支结构不支持
    # 先通过enumerate枚举出类列表中的索引和对应元素
    # for循环依次取出枚举结果里面的索引和对应元素
    # 然后交由if判断  条件成立才会解压赋值给for前面的变量
    # 索引为键对应元素为值存在字典中
    # 如果条件不成立 当前索引和对应元素直接舍弃
    
    l1 = ['jason','123','read']
    d = {i:j for i,j in enumerate(l1) if j != '123'}
    print(d)
    结果# {0: 'jason', 2: 'read'}

    元组生成器表达式

    # 集合se = (变量i for 变量i in 容器类数据 if 条件)  #其他if分支结构不支持
    
    # 先for循环依次取出容器里面的每一个元素
    # 然后交由if判断  条件成立才会交给for前面的代码
    # 将元素加到元组中
    # 如果条件不成立 当前的元素 直接舍弃
    
    res1 = (i for i in range(10) if i != 4) 
    结果 # <generator object <genexpr> at 0x101055a98>
    元组的生成器
    print(list(res1))
    # [0, 1, 2, 3, 5, 6, 7, 8, 9]
  • 相关阅读:
    Navicat Premium12以上版本多用户破解方法
    Linux并行gzip压缩工具pigz
    Windows Server 2019远程桌面服务配置和授权激活
    mysql删除大表
    KVM qcow2 磁盘在线扩容方法
    在jenkins中连接kubernetes集群
    CentOS 7部署 Ceph分布式存储架构
    (转)关于T(n) = kT(n/c) + f(n) 的时间复杂度
    算法中的思想(第0篇)
    (求通俗易懂的证法) 过n个有标志顶点的树的数目等于n^(n-2)
  • 原文地址:https://www.cnblogs.com/george-007/p/11177480.html
Copyright © 2011-2022 走看看