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

yipeiwu_com6年前Python基础

本文实例讲述了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列表(list)操作技巧总结》、《Python数据结构与算法教程》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

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

相关文章

Python socket实现的简单通信功能示例

Python socket实现的简单通信功能示例

本文实例讲述了Python socket实现的简单通信功能。分享给大家供大家参考,具体如下: 套接字(socket)是计算机网络数据结构,在任何类型的通信开始之前,网络应用程序必须创建套...

python匿名函数用法实例分析

本文实例讲述了python匿名函数用法。分享给大家供大家参考,具体如下: 匿名函数特点: 1.只能有一个表达式 2.不用return,默认return结果 3.不需要名字,防止函数名重复...

在Python的while循环中使用else以及循环嵌套的用法

循环使用 else 语句 在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 bre...

Python函数参数类型及排序原理总结

这篇文章主要介绍了Python函数参数类型及排序原理总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python中函数的参数问题有...

python实现校园网自动登录的示例讲解

python实现校园网自动登录的示例讲解

因为最近想用树莓派搞个远程监控系统,又因为学校的网需要从网页登录而树莓派又不方便搞个显示器带着,所以寻思着搞个能够自动登录校园网的脚本程序,省去了每次都要打开浏览器输入账号密码的烦恼....