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 相关文章推荐
下载安装setuptool和pip linux安装pip    
Jan 24 Python
spyder常用快捷键(分享)
Jul 19 Python
关于Python中空格字符串处理的技巧总结
Aug 10 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
Feb 07 Python
python写入并获取剪切板内容的实例
May 31 Python
python3写的简单本地文件上传服务器实例
Jun 04 Python
python判断文件是否存在,不存在就创建一个的实例
Feb 18 Python
Python控制Firefox方法总结
Jun 03 Python
学习和使用python的13个理由
Jul 30 Python
FFrpc python客户端lib使用解析
Aug 24 Python
python实现在多维数组中挑选符合条件的全部元素
Nov 26 Python
Python 添加文件注释和函数注释操作
Aug 09 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
How do I change MySQL timezone?
2008/03/26 PHP
PHP Curl多线程原理实例详解
2013/11/06 PHP
PHP使用正则表达式清除超链接文本
2013/11/12 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
用倒置滤镜把div倒置,再把table倒置。
2007/07/31 Javascript
js cookies实现简单统计访问次数
2009/11/24 Javascript
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
Extjs表单常见验证小结
2014/03/07 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
JavaScript动态修改网页元素内容的方法
2015/03/21 Javascript
JavaScript中的数据类型转换方法小结
2015/10/26 Javascript
深入理解jQuery中的事件冒泡
2016/05/24 Javascript
js 动态给元素添加、移除事件的实现方法
2016/07/19 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
JavaScript 继承详解(六)
2016/10/11 Javascript
javascript设置文本框光标的方法实例小结
2016/11/04 Javascript
细说webpack源码之compile流程-rules参数处理技巧(2)
2017/12/26 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
[44:51]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第二场
2018/04/05 DOTA
mysql 之通过配置文件链接数据库
2017/08/12 Python
python 函数传参之传值还是传引用的分析
2017/09/07 Python
python 循环数据赋值实例
2019/12/02 Python
python类中super() 的使用解析
2019/12/19 Python
Python逐行读取文件内容的方法总结
2020/02/14 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
Python3+Appium安装及Appium模拟微信登录方法详解
2021/02/16 Python
大学生创业感言
2014/01/25 职场文书
服装设计专业自荐信
2014/06/17 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android
docker 制作mysql镜像并自动安装
2022/05/20 Servers