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')},
    #      ...
    # ]
    
  • 相关阅读:
    类的加载机制与反射 笔记
    json
    人人都是产品经理 笔记
    java IO
    jcrop+jquery+javaweb 实现头像裁剪、上传
    C++学习-3
    C++学习-2
    C++学习-1
    Django高级部分
    Django---模板
  • 原文地址:https://www.cnblogs.com/monkey-code/p/13158905.html
Copyright © 2011-2022 走看看