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中的格式化输出用法总结
Jul 28 Python
使用Python的Scrapy框架十分钟爬取美女图
Dec 26 Python
浅谈Django学习migrate和makemigrations的差别
Jan 18 Python
pandas or sql计算前后两行数据间的增值方法
Apr 20 Python
详解爬虫被封的问题
Apr 23 Python
python3射线法判断点是否在多边形内
Jun 28 Python
pandas删除行删除列增加行增加列的实现
Jul 06 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
Apr 01 Python
PyCharm 在Windows的有用快捷键详解
Apr 07 Python
pytorch SENet实现案例
Jun 24 Python
通过代码实例了解Python sys模块
Sep 14 Python
Python操作dict时避免出现KeyError的几种解决方法
Sep 20 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
详解Laravel5.6 Passport实现Api接口认证
2018/07/27 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
验证javascript中Object和Function的关系的三段简单代码
2010/06/27 Javascript
jquery固定底网站底部菜单效果
2013/08/13 Javascript
jquery实现非叠加式的搜索框提示效果
2014/01/07 Javascript
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
javascript实现表单验证
2016/01/29 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
Nodejs下DNS缓存问题浅析
2016/11/16 NodeJs
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
关闭Vue计算属性自带的缓存功能方法
2018/03/02 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
[03:56]还原FTP电影首映式 DOTA2群星拼出遗迹世界
2014/03/26 DOTA
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
Python编程对列表中字典元素进行排序的方法详解
2017/05/26 Python
从头学Python之编写可执行的.py文件
2017/11/28 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
2018/02/02 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
关于Python作用域自学总结
2019/06/10 Python
python版百度语音识别功能
2019/07/09 Python
Python Django搭建网站流程图解
2020/06/13 Python
记一次django内存异常排查及解决方法
2020/08/07 Python
python 使用建议与技巧分享(四)
2020/08/18 Python
Python 可视化神器Plotly详解
2020/12/26 Python
HTML5 embed标签定义和用法详解
2014/05/09 HTML / CSS
小学六年级学生评语
2014/04/22 职场文书
竞选学生会演讲稿
2014/04/25 职场文书
财产保全担保书
2015/01/20 职场文书
Nginx反爬虫策略,防止UA抓取网站
2021/03/31 Servers
用Python监控你的朋友都在浏览哪些网站?
2021/05/27 Python
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript