『Python基础-12』各种推导式(列表推导式、字典推导式、集合推导式)
# 『Python基础-12』各种推导式(列表推导式、字典推导式、集合推导式)
推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 共有三种推导,在Python2和3中都有支持:
目录:
- 列表(list)推导式
- 字典(dict)推导式
- 集合(set)推导式
1.列表推导式
1.1、使用[]
生成list
基本格式:
variable = [out_exp_res for out_exp in input_list if out_exp == 2]out_exp_res: #列表生成元素表达式,可以是有返回值的函数。for out_exp in input_list: #迭代input_list将out_exp传入out_exp_res表达式中。if out_exp == 2: #根据条件过滤哪些值可以。
示例一:
multiples = [i for i in range(30) if i % 3 is 0]
print(multiples)
运行结果: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
示例二:
def squared(x):return x*x
multiples = [squared(i) for i in range(30) if i % 3 is 0]
print multiples
运行结果: [0, 9, 36, 81, 144, 225, 324, 441, 576, 729]
1.2、 使用()生成generator
将俩表推导式的[]改成()即可得到生成器:
multiples = (i for i in range(30) if i % 3 is 0)
print(type(multiples))
运行结果:<type 'generator'>
2. 字典推导式
字典推导和列表推导的使用方法是类似的,只不中括号该改成大括号。
示例一: 大小写key合并:
mcase = {'a': 10, 'b': 34, 'A': 7, 'Z': 3}
mcase_frequency = {k.lower(): mcase.get(k.lower(), 0) + mcase.get(k.upper(), 0)for k in mcase.keys()if k.lower() in ['a','b']
}
print mcase_frequency
运行结果:{'a': 17, 'b': 34}
示例二: 快速更换key和value:
mcase = {'a': 10, 'b': 34}
mcase_frequency = {v: k for k, v in mcase.items()}
print mcase_frequency
运行结果:{10: 'a', 34: 'b'}
3. 集合推导式
它们跟列表推导式也是类似的。 唯一的区别在于它使用大括号{}。
squared = {x**2 for x in [1, 1, 2]}
print(squared)
运行结果: Output: set([1, 4])
这篇笔记来自: cnblog
Thanks Reading ! ♪(・ω・)ノ
转载于:https://www.cnblogs.com/gybb/p/9792657.html
『Python基础-12』各种推导式(列表推导式、字典推导式、集合推导式)相关推荐
- 『Python基础-11』集合 (set)
# 『Python基础-11』集合 (set) 目录: 集合的基本知识 集合的创建 访问集合里的值 向集合set增加元素 移除集合中的元素 集合set的运算 1. 集合的基本知识 集合(set)是一个 ...
- 将整数k转换成实数python表达式_『Python基础-5』数字,运算,转换
『Python基础-5』数字,运算,转换 目录 基本的数字类型 二进制,八进制,十六进制 数字类型间的转换 数字运算 1. 数字类型 Python 数字数据类型用于存储数学上的值,比如整数.浮点数.复 ...
- 『Python基础-9』元祖 (tuple)
『Python基础-9』元祖 (tuple) 目录: 元祖的基本概念 创建元祖 将列表转化为元组 查询元组 更新元组 删除元组 1. 元祖的基本概念 元祖可以理解为,不可变的列表 元祖使用小括号括起所 ...
- 『Python基础练习题』day01
个人主页: https://lipeiguan.top 1.简述变量命名规范 2.name = input(">>>") name变量是什么数据类型? 3.if条 ...
- Python基础学习笔记-05字符串、列表、推导式;老师工位随机分配random.shuffle()、算术运算打分例题;
字符串.列表.推导式 python数据类型: #可变数据: 列表List.字典Dictionary.集合Set . #不可变数据:数值Number(int.float.bool.complex).字符 ...
- python爬虫群_(招募截止)『Python爬虫小分队』学习群第三期招募
一个月多月没有更新文章了,这次一上来就是广告,还是硬广 .感谢大家记得,还有不少同学在问第三期什么时候开,这就来了- 一.不是程序员而会编程为你的工作带来了哪些优势? 这是知乎上的一个问题.总结一下知 ...
- python报名_(招募结束,停止报名)『Python爬虫小分队』群招募公告
一.『Python爬虫小分队』群说明 『Python爬虫小分队』(以下简称学习群)是 付费学习群,包括微信群和QQ群. 日常任务布置,学习交流,主要用微信群,QQ群用于演示讲解.远程辅助协助. 参加学 ...
- 【马士兵】Python基础--12
Python基础–12 文章目录 Python基础--12 字符串比较 字符串切片 格式化字符串 字符串的编码与解码 知识点总结 字符串比较 print('apple'>'app') print ...
- c语言程序乔奎,『C 基础入门』C语言的数据序列化
新推波形开秤才子惹眼,捕鱼球节频度驿亭翘板.封神崴瑞侧室佩带盘存寺里!契刻嘟囔笑窝明智发泡画策『C 基础入门』C语言的数据序列化?浓度满袋伴娘冷烫拿放杀戮行者酷爱,『C 基础入门』C语言的数据序列化伴 ...
最新文章
- Android编程:解决异常“android.view.InflateException: Binary XML file line # : Error inflating class”
- 你应该将应用迁移到Spring 4的五个原因
- 使用Process.Start打开文件夹或网页
- 读书--编写高质量代码 改善C#程序的157个建议2
- 农民工上网求职事半功倍
- 学习中接触的计算机概念
- 【贪心】最佳浏览路线问题
- pandas将字符串转换成时间_pandas入门: 时间字符串转换为年月日
- python搭建环境的心得体会_python学习第一天_环境的搭建
- 特斯拉股价创新高 马斯克嘚瑟:股价真高 哈哈!
- 用户奖励体系有哪些反作弊的机制?
- 【转】网站ICP备案和公安备案流程
- c语言中malloc的作用,malloc函数-malloc函数,详解
- 用户行为分析 无埋点代码
- 电脑上的软件卸载不了怎么办
- 游戏平台搭建韩国大带宽CN2服务器哪里的比较便宜
- OpenCV + ORC 实现身份证识别
- 人人憎恨的大数据杀熟你了解吗? 大数据杀熟”是否真的存在?
- 手机百度浏览器底部fixed悬浮框屏蔽,出来一会自动消失了
- Windows下swig安装与配置
热门文章
- 机器学习笔试面试超详细总结(一)
- Linux TCP/IP中L4L3的实现框架:udp recv部分
- 如果波音公司破产,对美国经济的影响有多大?
- python添加时间戳_在python中添加时间戳
- python range函数怎么表示无限_Python for循环与range函数的使用详解
- sql 没有调试 菜单_MySQL递归查询上下级菜单
- android 数据库 字节数组,Android上的GreenDAO:字节数组作为主键/构建包含字节数组属性Where子句的查询...
- php斯芬克斯,斯芬克斯之迷——ie私有属性haslayout的困扰
- c# treeview查找并选中节点_最通俗易懂的二叉查找树(BST)详解
- Git很简单--图解攻略