zoukankan      html  css  js  c++  java
  • Python 各种推导式

    列表推导式

    一般推导

    # 生成1、2、3、4、5、6、7、8、9、10的列表
    lis = [i for i in range(1,11)]
    

    带过滤条件的推导

    # 生成 0、2、4、6、8 的列表
    [i for i in range(10) if i % 2 == 0]
    

    带函数的推导

    # 生成 0, 1, 4, 9, 16, 25, 36, 49, 64, 81 的列表
    
    func = lambda a:a**2
    
    lis = [func(i) for i in range(10)]
    

    字典推导式

    字典花式初始化

    # way1
    dic1 = {'name': 'monkey', 'gender': 'male'}
    # {'name': 'monkey', 'gender': 'male'}
    
    # way2
    dic2 = dict(name='monkey', gender='male')
    # {'name': 'monkey', 'gender': 'male'}
    
    # way3
    dic3 = dict(zip(('name', 'gender'), ('monkey', 'male')))
    # {'name': 'monkey', 'gender': 'male'}
    
    # way4
    lis = ['name', 'gender']
    dic4 = dict.fromkeys(lis, None)
    # {'name': None, 'gender': None}
    
    # way5
    dict([('name', 'monkey'), ('gender','male')])
    # {'name': None, 'gender': None}
    

    字典推导式

    # 将两个列表拟合成字典
    lis1 = [0, 1, 2, 3, 4, 5, 6]
    lis2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
    
    dic = {k:v for k,v in zip(lis1, lis2)}
    

    集合推导式

    set1 = {i for i in range(10)}
    

    复合推导

    # 列表 字典 元组的复合
    [{k:(v,j)} for k,v,j in zip(lis, lis1, lis2)]
    
    # [
    # {0: (0, 'a')},
    # {1: (1, 'b')}, 
    # {4: (2, 'c')},
    #      ...
    # ]
    
  • 相关阅读:
    [Unity3D]计时器/Timer
    unity缓存和浏览器缓存
    unity3d进行脚本资源打包加载
    Unity3d删除无用的美术资源
    项目经理的职责(转载)
    LINQ
    生意经
    Android ListView标题置顶效果实现
    ListView的自动循环滚动显示
    郭霖的专栏
  • 原文地址:https://www.cnblogs.com/monkey-code/p/13158905.html
Copyright © 2011-2022 走看看