推导式 comprehensions(又称解析式):是 Python 中很强大的、很受欢迎的特性,具有语言简洁,速度快等优点。推导式包括:

1. 列表推导式
2. 字典推导式
3. 集合推导式

对以上的三种推导式分别举例分析:

一、列表推导式


1、使用 [] 生成 list

例如:

list = [ i for i in range(20) if i%2 == 0 ]
print(list)#output:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

2、使用 () 生成 generator

将列表推导式的 [] 换成 () 即可得到生成器。

generator = ( i for i in range(20) if i%2 == 0 )
print(generator)#output:<generator object <genexpr> at 0x0000000000B5CA40>

通过 next() 就可以依次调用生成器中的数据。

二、字典推导式


存在 key 和 value,使用的是 {}。

dic = { "A":1, "b":2, "C":3, "d":4 }
new_dic = { k:v for k,v in dic.items() if k <= 'a'}
print(new_dic)#output:{'C': 3, 'A': 1}

三、集合推导式


它跟列表推导式也是类似的。区别在于它使用大括号 {},并且数据是无序和无重复的。

Set = { i**2 for i in [1,2,3,4,5,3] }
print(Set)#output:{16, 1, 4, 9, 25}

转载于:https://www.cnblogs.com/GyForever1004/p/8465847.html

Python 的几种推导式相关推荐

  1. python中几种推导式的特殊用法

    字典推导式 >>> dic = {x: x**2 for x in (2, 4, 6)} >>> dic {2: 4, 4: 16, 6: 36} >> ...

  2. Python笔记002-列表推导式

    Python笔记002-列表推导式 以下是我学习<流畅的Python>后的个人笔记,现在拿出来和大家共享,希望能帮到各位Python学习者. 首次发表于: 微信公众号:科技老丁哥,ID: ...

  3. Python 中的列表推导式

    Python 中的列表推导式 简单用法 添加多个条件 多个列表使用 替换 Reduce 和 Lambda 嵌套列表推导式 列表推导式是一种 Python 构造,可减少生成新列表或过滤现有列表所需的代码 ...

  4. 列表解析python_基于Python列表解析(列表推导式)

    列表解析--用来动态地创建列表 [expr for iter_var in iterable if cond_expr] 例子一: map(lambda x: x**2, range(6)) [0, ...

  5. Python学习笔记 —— 独步天下推导式语法糖

    Python学习笔记 -- 独步天下推导式语法糖 前言 介绍 列表推导式 获取当月天数 字典推导式 模拟三条用户数据 结束语 前言 最近心血来潮,学习了一下Python,其中关于 推导式语法糖 感觉功 ...

  6. python推导式多行书写_python三种推导式的详细介绍及其应用示例,强调字典推导的重要性...

    前言 列表推导式构建列表的快捷方式,而生成器表达式则可以用来创建其他任何类型的序列.自python2.7以后,列表推导和生成器表达式的概念就应用到了字典上,所以就有了字典推导,以后我们还会遇到集合推导 ...

  7. 【Python学习教程】推导式与生成器

    当我们对一批可迭代的数据(如列表或字典)进行提取或处理,最后要得到一个新的列表或字典时,推导式是一种非常简洁的表达方式. 列表推导式 比如,有一批数据 data = [{'name': '张三', ' ...

  8. python教程:列表推导式对比For循环执行效率

    我们在前面的学习中都知道,如果把1-10以内的元素追加到一个新的列表表中,如果使用for循环我们可以这么做: a = [] for i in range(1,11):a.append(i) print ...

  9. 【Python基础】Python轻量级循环-列表推导式

    概  述 Python 列表推导式(list comprehension)利用其他列表创建新的列表,工作方式类似于for循环,使用列表推导式可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表 ...

最新文章

  1. Oracle中Null与空字符串''的区别
  2. 计算机学校专业工学,大学专业详解:工学(仪器仪表类)
  3. 7个免费强大的Ajax文件管理器
  4. Linux文件系统不是必须的,而是必要的!
  5. MFC开发IM-设置 static的背景色和字体色
  6. 【SpringBoot与SpringCloud的一些根本】
  7. 东大OJ-一元三次方程解的个数
  8. 亚马逊要做一款会说话的智能眼镜,但看起来没那么性感
  9. 一个OSPF的区域备份在手册里看到的
  10. 机器学习实践中的 7 种常见错误
  11. 阶段3 1.Mybatis_03.自定义Mybatis框架_6.自定义Mybatis的编码-实现基于XML的查询所有操作...
  12. java零基础对象和类_【JAVA零基础入门系列】Day11 Java中的类和对象
  13. 基于软件界面的汽车故障模拟系统
  14. ai跟随路径_AI 路径寻找器(形状组合工具)-怎么使用,使用教程
  15. 【面试】数据分析助理面试
  16. 一区希尔盖服务器找不到,魔兽世界怀旧服:服务器第一成就达成!分享一下心得...
  17. 「eBay大赛专访特辑」第一轮淘汰在即!已经有同学出单$2500!
  18. 橙仕X2双排mini卡已经开始接受订单
  19. mac蓝牙鼠标总是自己断开_解决 mac 蓝牙鼠标、键盘经常总是 断开连接的问题
  20. DMM6500+Keithley6517B/6514纳米发电机测试软件

热门文章

  1. 【深入理解JVM】运行时数据区域:java虚拟机栈
  2. 记录CodeForces第一次比赛经历
  3. x264编码指南——码率控制
  4. gdb php-fpm,用gdb分析段错误(Segmentation fault)
  5. php代码里面的居中,css代码如何居中
  6. java vk减号_Vue入门经常使用指令
  7. span标签显示固定长度显示省略号,光标放上显示全部
  8. MySQL命令行格式化输出
  9. 2021牛客暑期多校训练营2,签到题CDFKI
  10. C++中缀表达式求值(中缀表达式转后缀表达式)