• python 推导式


    推导式又称解析式,是Python的一种独有特性。目的是可以从一个数据序列推导出另一个数据序列,适用于python 的list ,dict 和集合

    list中的推导式:

    _list=[i for i in 迭代器 if 条件]
    #for i in 迭代器 if 条件就是一个表达式,将这个表达式的所有i加入到list中
    
    #比如:求10以内4的倍数
    list_1=[i for i in range(10) if  i %4 is 0 and i != 0 ]
    #out:[4,8]
    
    #-----表达式获取到的值还可以当做参数传递给函数或者实列,返回值就是list
    
    #比如:获取20以内3的倍数,并将每个数字+10展示
    def add(i):
        return i+10
    list_2=[add(i) for i in range(10) if i %4 is 0 and i != 0]
    #out:[13,16,19,22,25,28]

    dict推导式方式都是类似, 表达式换成返回2个值,接受也换成2个变量接受即可:

    dict_1={'xx':'yy','aa':'bb'}
    #将字典dict_1键值互换
    dict_2={k:v for v,k in dict_1.items()}
    #out:{'yy':'xx','bb','aa'}

    集合推导式和list推导式一样,将[]变成{}就可以了

    set_1={x*x for x in range(5)}
    print(set_1)
    print(type(set_1))
    #out:{0,1,4,9,16}
    #out:<class 'set'>

    还可以利用推到式将list变成生成器,将[]变成(),这样得到的就是一个生成器

    generator_lsit=(i for i in [0,2,1,-1])
    print(type(generator_lsit))
    generator_lsit.__next__()
    #out:<generator object>
    #out:0

    总结来说:推导式可以很方便的让我们得到想得到的数据集合

  • 相关阅读:
    Swift app中的Crash捕获与处理
    10 Things ASP.NET Developers Should Know About Web.config Inheritance and Overrides(转)
    Browserify使用指南(转)
    开启mac terminal 命令/路径自动补全功能
    selenium--定位元素
    selenium--断言方法
    selenium--unittest框架
    苹果手机对应版本
    Pycharm2019激活
    接口上传图片方法
  • 原文地址:https://www.cnblogs.com/guoguojj/p/8778221.html
Copyright © 2020-2023  润新知