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局部赋值的规则
Mar 07 Python
对于Python异常处理慎用“except:pass”建议
Apr 02 Python
Python将阿拉伯数字转换为罗马数字的方法
Jul 10 Python
python3实现读取chrome浏览器cookie
Jun 19 Python
python自动化脚本安装指定版本python环境详解
Sep 14 Python
python实现时间o(1)的最小栈的实例代码
Jul 23 Python
Python实现简单的用户交互方法详解
Sep 25 Python
Python中使用双下划线防止类属性被覆盖问题
Jun 27 Python
python 中pyqt5 树节点点击实现多窗口切换问题
Jul 04 Python
Python自动化测试中yaml文件读取操作
Aug 20 Python
Python实例方法、类方法、静态方法区别详解
Sep 05 Python
基于Python编写一个监控CPU的应用系统
Jun 25 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
zen cart新进商品的随机排序修改方法
2010/09/10 PHP
ThinkPHP独立分组使用的注意事项
2014/11/25 PHP
PHP判断密码强度的方法详解
2017/05/26 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
Js判断CSS文件加载完毕的具体实现
2014/01/17 Javascript
js变量、作用域及内存详解
2014/09/23 Javascript
Vue.js 父子组件通讯开发实例
2016/09/06 Javascript
JavaScript 是什么意思
2016/09/22 Javascript
JS搜狐面试题分析
2016/12/16 Javascript
js简易版购物车功能
2017/06/17 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
2017/10/26 Javascript
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
使用layer模态框给新页面传值的方法
2019/09/27 Javascript
Vue自动构建发布脚本的方法示例
2020/07/24 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
盘点提高 Python 代码效率的方法
2014/07/03 Python
利用python代码写的12306订票代码
2015/12/20 Python
尝试用最短的Python代码来实现服务器和代理服务器
2016/06/23 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
python 读取txt,json和hdf5文件的实例
2018/06/05 Python
python 实现求解字符串集的最长公共前缀方法
2018/07/20 Python
Python任意字符串转16, 32, 64进制的方法
2019/06/12 Python
三星美国官网:Samsung美国
2017/02/06 全球购物
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
南京迈特望C/C++面试题
2012/07/09 面试题
四风问题对照检查材料
2014/09/22 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
地震慰问信
2015/02/14 职场文书
全国助残日活动总结
2015/05/11 职场文书
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP
python双向链表实例详解
2022/05/25 Python