推导式又称解析式,是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

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

python 推导式的更多相关文章

  1. python推导式pythonic必备【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  2. python推导式pythonic必备

    编程规范 今天公司新出了一套Python编程规范2.0,一直觉得自己写代码路子有点野,所以仔细的看了下. 多数的内容在网上都能搜到,但有几点需要说说 让我觉得羞愧的注释率 公司要求代码注释行,占代码总 ...

  3. Python推导式详解,带你写出比较精简酷炫的代码

    Python推导式详解,带你写出比较精简酷炫的代码 前言 1.推导式分类与用法 1.1 列表推导 1.2 集合推导 1.3 字典推导 1.4 元组推导?不存在的 2.推导式的性能 2.1 列表推导式与 ...

  4. Python推导式

    Python推导式 推导式:是Python中提供的一个非常方便的功能,可以通过一行代码实现创建 list.dict.tuple.set的同时初始化一些值. 1.列表推到式 # -*- coding: ...

  5. python推导式与海象运算符

    背景:介绍两种python用于语句优化的用法 一.推导式 1.推导式简介: Python 推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体. 支持:列表(list).元 ...

  6. python 推导式和迭代器、生成器

    1.常用推导式 推导式是从一个或者多个迭代器快速简洁创建数据结构的一种方法. 1.1 _ 列表推导式 最简单的形式:  [exprssion for item in iterable] 示例:  nu ...

  7. Python 推导式、迭代器、生成器、模块和包

    一.推导式 (一).列表推导式(集合推导式也同理于此) 利用列表推导式,取出1-20内所有偶数 li = [i for i in range(1, 21) if i % 2 == 0] # 如果只有一 ...

  8. Python—推导式

    推导式 推导式:comprehensions(又称解析式),是Python的一种独有特性,相当于语法糖的存在,推导式是可以从一个数据序列构建另一个新的数据序列的结构体. 共有三种推导,在Python2 ...

  9. 奇技淫巧,还是正统功夫? - Python推导式最全用法

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

随机推荐

  1. 关于CPU 架构与指令集的一些个人理解

    关于CPU 架构与指令集的一些个人理解 (理解不一定正确,只是目前的理解) 1.一般所说的X86,是指基于Intel X86架构处理器的一套指令集,即X86指令集: 2.CPU的架构是最底层的,是处理 ...

  2. Android屏幕亮度调节相关源码

    如下代码内容是关于Android屏幕亮度调节相关的代码. public static boolean isAutoBrightness(ContentResolver aContentResolver ...

  3. SpringBoot+Mybatis实现关联查询

    SpringBoot+Mybatis实现关联查询 今天学习了下Mybatis的动态查询,然后接着上次的Demo改造了下实现表的关联查询. 话不多说,开始今天的小Demo 首先接着上次的项目 https ...

  4. start to use await

    import { browser, $, $$, by, element, protractor } from "protractor"; //import { SearchPag ...

  5. PackagesNotFoundError: The following packages are not available from current channels

    因为要用到lifelines 包,在cmd中使用conda install lifelines ,显示如下错误: PackagesNotFoundError: The following packag ...

  6. Configuring SSL for SAP Host Agent on UNIX

    https://help.sap.com/viewer/141cbf7f183242b0ad0964a5195b24e7/114/en-US/8d12f7b9244b44219bd14d619d3a2 ...

  7. zuul ci

    . ├── a_module ├── b_module ├── lib ├── zuul │   ├── check │   ├── ci │   ├── gate │   ├── layout.ya ...

  8. jQuery validdate插件的使用

    跟着书上的例子做的时候发现很奇怪,在script标签中用message重写提示消息,没有反应,不知道是不是引入的metadata.js文件有问题,于是用了菜鸟教程的cdn和教程,魔改了一下 <! ...

  9. 关于Vue单页面实现微信分享的Bug

    // 问题描述在微信中分享到朋友圈或好友时,分享出去的路由被破坏,打开分享的链接,路由中的“#”会被去掉并追加?from= & Timeline= 之类的后缀参数,这就造成了分享出去的链接只能 ...

  10. win10基础上安装linux系统,添加双系统启动项

    1. 本机安装Centos7mini(注意点:进入安装界面先修改下面的内容,修改为U盘名称) 2. 配置文件/boot/grub2/grub.cfg,完成双系统启动设置. 3. 配置ip地址 nmcl ...