zoukankan      html  css  js  c++  java
  • 推导式

    推导式

    • 列表推导式
    • 生成器推导式
    • 字典推导式
    • 集合推导式
    列表推导式

    使用[]生成列表

    例一:

    lt = [x for x in range(10) if x%2==0]
    print(lt)   # [0, 2, 4, 6, 8]
    

    例二

    lt = [x if x%2==0 else -x for x in range(10)]
    print(lt)   # [0, -1, 2, -3, 4, -5, 6, -7, 8, -9]
    
    生成器推导式

    将俩表推导式的[]改成()即可得到生成器会生成一个迭代器对象

    lt = (x if x%2==0 else -x for x in range(10))
    print(type(lt))   # <class 'generator'>
    for i in lt:
        print(i,end=' ')   # 0 -1 2 -3 4 -5 6 -7 8 -9 
    
    字典推导式

    字典推导和列表推导的使用方法是类似的,只把中括号该改成大括号。

    例一:

    dic={chr(x):x for x in range(97,101)}
    print(dic)   # {'a': 97, 'b': 98, 'c': 99, 'd': 100}
    

    例二:

    dic={chr(x):x if x%2==0 else x*2 for x in range(97,101)}
    print(dic)   # {'a': 194, 'b': 98, 'c': 198, 'd': 100}
    

    例三:

    还可以快速颠倒key与value值

    dic = {'a': 97, 'b': 98, 'c': 99, 'd': 100}
    dic = {v:k for k,v in dic.items()}
    print(dic)   # {97: 'a', 98: 'b', 99: 'c', 100: 'd'}
    
    集合推导式

    它们跟列表推导式也是类似的。 唯一的区别在于它使用大括号{}。

    例一:

    tup = {x for x in range(10) if x%2==0}
    print(tup)   # {0, 2, 4, 6, 8}
    

    例二

    tup = {x if x%2==0 else -x for x in range(10)}
    print(tup)   # {0, 2, 4, 6, 8, -9, -7, -5, -3, -1}
    
  • 相关阅读:
    获取表信息(MSSQL)
    合并有数据的列
    isnull的使用方法
    查询SQLServer的启动时间
    查询数据库中有数据的表
    查询数据库中表使用的空间信息。
    SQL Server SA 密码丢失无法连接数据库怎么办?
    tensorflow 语法及 api 使用细节
    Python: PS 滤镜-- Fish lens
    中英文对照 —— 概念的图解
  • 原文地址:https://www.cnblogs.com/Gredae/p/11348589.html
Copyright © 2011-2022 走看看