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 Django 封装分页成通用的模块详解

Python Django 封装分页成通用的模块详解

这篇文章主要介绍了Python Django 封装分页成通用的模块详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 新建 utils...

python实现烟花小程序

本文实例为大家分享了python实现烟花小程序的具体代码,供大家参考,具体内容如下 ''' FIREWORKS SIMULATION WITH TKINTER *self-conta...

如何搜索查找并解决Django相关的问题

1. 卡住是怎么办 按照以下步骤, 前提是你需要懂点英文: 尽可能自己想办法解决 仔细阅读相关文档, 确保不错过任何相关内容 在Google, 百度, mailing lists或Sta...

Python类中的魔法方法之 __slots__原理解析

在类中每次实例化一个对象都会生产一个字典来保存一个对象的所有的实例属性,这样非常的有用处,可以使我们任意的去设置新的属性。 每次实例化一个对象python都会分配一个固定大小内存的字典来...

Python实现在Linux系统下更改当前进程运行用户

在上一篇文章中,我们讲了如何在linux上用python写一个守护进程。主要原理是利用linux的fork函数来创建一个进程,然后退出父进程运行,生成的子进程就会成为一个守护进程。细心观...