Python 的几种推导式
推导式 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 的几种推导式相关推荐
- python中几种推导式的特殊用法
字典推导式 >>> dic = {x: x**2 for x in (2, 4, 6)} >>> dic {2: 4, 4: 16, 6: 36} >> ...
- Python笔记002-列表推导式
Python笔记002-列表推导式 以下是我学习<流畅的Python>后的个人笔记,现在拿出来和大家共享,希望能帮到各位Python学习者. 首次发表于: 微信公众号:科技老丁哥,ID: ...
- Python 中的列表推导式
Python 中的列表推导式 简单用法 添加多个条件 多个列表使用 替换 Reduce 和 Lambda 嵌套列表推导式 列表推导式是一种 Python 构造,可减少生成新列表或过滤现有列表所需的代码 ...
- 列表解析python_基于Python列表解析(列表推导式)
列表解析--用来动态地创建列表 [expr for iter_var in iterable if cond_expr] 例子一: map(lambda x: x**2, range(6)) [0, ...
- Python学习笔记 —— 独步天下推导式语法糖
Python学习笔记 -- 独步天下推导式语法糖 前言 介绍 列表推导式 获取当月天数 字典推导式 模拟三条用户数据 结束语 前言 最近心血来潮,学习了一下Python,其中关于 推导式语法糖 感觉功 ...
- python推导式多行书写_python三种推导式的详细介绍及其应用示例,强调字典推导的重要性...
前言 列表推导式构建列表的快捷方式,而生成器表达式则可以用来创建其他任何类型的序列.自python2.7以后,列表推导和生成器表达式的概念就应用到了字典上,所以就有了字典推导,以后我们还会遇到集合推导 ...
- 【Python学习教程】推导式与生成器
当我们对一批可迭代的数据(如列表或字典)进行提取或处理,最后要得到一个新的列表或字典时,推导式是一种非常简洁的表达方式. 列表推导式 比如,有一批数据 data = [{'name': '张三', ' ...
- python教程:列表推导式对比For循环执行效率
我们在前面的学习中都知道,如果把1-10以内的元素追加到一个新的列表表中,如果使用for循环我们可以这么做: a = [] for i in range(1,11):a.append(i) print ...
- 【Python基础】Python轻量级循环-列表推导式
概 述 Python 列表推导式(list comprehension)利用其他列表创建新的列表,工作方式类似于for循环,使用列表推导式可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表 ...
最新文章
- Oracle中Null与空字符串''的区别
- 计算机学校专业工学,大学专业详解:工学(仪器仪表类)
- 7个免费强大的Ajax文件管理器
- Linux文件系统不是必须的,而是必要的!
- MFC开发IM-设置 static的背景色和字体色
- 【SpringBoot与SpringCloud的一些根本】
- 东大OJ-一元三次方程解的个数
- 亚马逊要做一款会说话的智能眼镜,但看起来没那么性感
- 一个OSPF的区域备份在手册里看到的
- 机器学习实践中的 7 种常见错误
- 阶段3 1.Mybatis_03.自定义Mybatis框架_6.自定义Mybatis的编码-实现基于XML的查询所有操作...
- java零基础对象和类_【JAVA零基础入门系列】Day11 Java中的类和对象
- 基于软件界面的汽车故障模拟系统
- ai跟随路径_AI 路径寻找器(形状组合工具)-怎么使用,使用教程
- 【面试】数据分析助理面试
- 一区希尔盖服务器找不到,魔兽世界怀旧服:服务器第一成就达成!分享一下心得...
- 「eBay大赛专访特辑」第一轮淘汰在即!已经有同学出单$2500!
- 橙仕X2双排mini卡已经开始接受订单
- mac蓝牙鼠标总是自己断开_解决 mac 蓝牙鼠标、键盘经常总是 断开连接的问题
- DMM6500+Keithley6517B/6514纳米发电机测试软件