zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    安装tomcat8过程记录
    epoll监听多文件描述符时调度顺序研究
    线程间通信之eventfd
    webstorm常用快捷键
    修改linux镜像源的方法
    如何使用《UNIX 网络编程》一书中的源码
    SSL的作用与目前主流的使用场景介绍
    SSL相关知识点架构整理
    SSL的发展历史
    实验室项目debug汇总
  • 原文地址:https://www.cnblogs.com/guoguojj/p/8778221.html
Copyright © 2011-2022 走看看