Python编程实现从字典中提取子集的方法分析


Posted in Python onFebruary 09, 2018

本文实例讲述了Python编程实现从字典中提取子集的方法。分享给大家供大家参考,具体如下:

首先我们会想到使用字典推导式(dictionary comprehension)来解决这个问题,例如以下场景:

prices={'ACME':45.23,'APPLE':666,'IBM':343,'HPQ':33,'FB':10}
#选出价格大于 200 的
gt200={key:value for key,value in prices.items() if value > 200}
print(gt200)
print('---------------------')
#提取科技公司的相关信息
tech={'APPLE','IBM','HPQ','FB'}
techDict={ key:value for key,value in prices.items() if key in tech}
print(techDict)

运行结果如下:

{'APPLE': 666, 'IBM': 343}
---------------------
{'APPLE': 666, 'FB': 10, 'IBM': 343, 'HPQ': 33}

大部分可以通过字典推导式解决的问题也可以通过创建元组序列然后将它们传给dict()函数来完成,例如:

gt200Dict=dict((key,value) for key,value in prices.items() if value > 200)
print(gt200Dict)
print('---------------------')
techDict2={ key:prices[key] for key in prices.keys() & tech}
print(techDict2)

但是,对于第一个输出结果,字典推导式的方案相比更加清晰而且运行更快;第二个输出的速度也慢了很多,所以,采用字典推导式为最佳选择方案。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
Apr 09 Python
Python将图片批量从png格式转换至WebP格式
Aug 22 Python
python中pandas.DataFrame排除特定行方法示例
Mar 12 Python
python内置函数:lambda、map、filter简单介绍
Nov 16 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
Feb 21 Python
python中pygame安装过程(超级详细)
Aug 04 Python
pycharm内无法import已安装的模块问题解决
Feb 12 Python
Python使用type动态创建类操作示例
Feb 29 Python
如何在Python对Excel进行读取
Jun 04 Python
Python常用断言函数实例汇总
Nov 30 Python
Python 实现集合Set的示例
Dec 21 Python
Python探索生命起源 matplotlib细胞自动机动画演示
Apr 21 Python
python tensorflow学习之识别单张图片的实现的示例
Feb 09 #Python
python删除服务器文件代码示例
Feb 09 #Python
详解Python使用tensorflow入门指南
Feb 09 #Python
python编程测试电脑开启最大线程数实例代码
Feb 09 #Python
Python实现对一个函数应用多个装饰器的方法示例
Feb 09 #Python
Python+PIL实现支付宝AR红包
Feb 09 #Python
Python 实现12306登录功能实例代码
Feb 09 #Python
You might like
ASP知识讲座四
2006/10/09 PHP
如何在PHP中进行身份认证
2006/10/09 PHP
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
php批量删除数据
2007/01/18 PHP
简单实用的.net DataTable导出Execl
2013/10/28 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
2016/05/06 PHP
JS类中定义原型方法的两种实现的区别
2007/03/08 Javascript
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
Jquery性能优化详解
2014/05/15 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
javascript函数特点实例分析
2015/05/14 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
2016/05/28 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
微信小程序学习(4)-系统配置app.json详解
2017/01/12 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
Vue render深入开发讲解
2018/04/13 Javascript
vue中动态设置meta标签和title标签的方法
2018/07/11 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
2019/04/04 jQuery
js将URL网址转为16进制加密与解密函数
2020/03/04 Javascript
用Python生成器实现微线程编程的教程
2015/04/13 Python
python实现微信自动回复功能
2018/04/11 Python
Python实现代码统计工具
2019/09/19 Python
使用Python将Exception异常错误堆栈信息写入日志文件
2020/04/08 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
逼真的HTML5树叶飘落动画
2016/03/01 HTML / CSS
匡威意大利官方商店 :Converse意大利
2018/11/27 全球购物
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
为什么需要版本控制
2016/10/28 面试题
程序员经常用到的UNIX命令
2015/04/13 面试题
设计师求职信
2014/07/01 职场文书
学生会竞选演讲稿怎么写
2014/08/26 职场文书
2015年财政所工作总结
2015/04/25 职场文书
CSS完成视差滚动效果
2021/04/27 HTML / CSS
ajax请求前端跨域问题原因及解决方案
2021/10/16 Javascript