Python cookbook(数据结构与算法)实现查找两个字典相同点的方法


Posted in Python onFebruary 18, 2018

本文实例讲述了Python实现查找两个字典相同点的方法。分享给大家供大家参考,具体如下:

问题:寻找两个字典中间相同的地方(相同的键、相同的值等)

解决方案:通过keys()或者items()方法来执行常见的集合操作(比如求并集、交集和差集)

Python cookbook(数据结构与算法)实现查找两个字典相同点的方法

>>> a={'x':1,'y':2,'z':3}
>>> b={'ww':10,'x':11,'y':2}
>>> a.keys()& b.keys() #键的交集
{'y', 'x'}
>>> a.keys()- b.keys() #键的差集
{'z'}
>>> a.keys()| b.keys() #键的并集
{'ww', 'y', 'x', 'z'}
>>> a.items()& b.items()
{('y', 2)}
>>> a.items()- b.items()
{('z', 3), ('x', 1)}
>>> a.items()| b.items()
{('ww', 10), ('z', 3), ('x', 1), ('x', 11), ('y', 2)}
>>>

这些类型的操作也可用来修改或过滤掉字典中的内容。例如:

>>> c = {key:a[key] for key in a.keys()-{'w','z'}} #新建一个去掉某些键的新字典
>>> c
{'y': 2, 'x': 1}
>>>

总结:

字典的keys()方法、items()方法支持集合操作,但是values()方法不支持。因为在字典中从值的角度来看并不能保证所有的值都是唯一的,这会导致某些集合操作存在问题。但是可以通过将值转化为集合来实现此类操作。

(代码摘自《Python Cookbook》)

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

Python 相关文章推荐
python 判断自定义对象类型
Mar 21 Python
用Python抢过年的火车票附源码
Dec 07 Python
Python编程中对super函数的正确理解和用法解析
Jul 02 Python
python魔法方法-属性转换和类的表示详解
Jul 22 Python
python自带的http模块详解
Nov 06 Python
Python利用BeautifulSoup解析Html的方法示例
Jul 30 Python
python基础之包的导入和__init__.py的介绍
Jan 08 Python
Python学习笔记之迭代器和生成器用法实例详解
Aug 08 Python
Python一键安装全部依赖包的方法
Aug 12 Python
Laravel框架表单验证格式化输出的方法
Sep 25 Python
pandas 缺失值与空值处理的实现方法
Oct 12 Python
完美解决python针对hdfs上传和下载的问题
Jun 05 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
Feb 18 #Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 #Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
Feb 18 #Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 #Python
python快速建立超简单的web服务器的实现方法
Feb 17 #Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
Feb 13 #Python
python3学习笔记之多进程分布式小例子
Feb 13 #Python
You might like
PHP中SESSION使用中的一点经验总结
2012/03/30 PHP
深入Nginx + PHP 缓存详解
2013/07/11 PHP
php的hash算法介绍
2014/02/13 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
Bootstrap和Java分页实例第一篇
2016/12/23 Javascript
移动端点击态处理的三种实现方式
2017/01/12 Javascript
原生实现一个react-redux的代码示例
2018/06/08 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
Vue中的v-for指令不起效果的解决方法
2018/09/27 Javascript
JavaScript变速动画函数封装添加任意多个属性
2019/04/03 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
2019/05/13 jQuery
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
Python lxml模块安装教程
2015/06/02 Python
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
浅谈Python中用datetime包进行对时间的一些操作
2016/06/23 Python
python实现微信远程控制电脑
2018/02/22 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
2019/08/06 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
Python collections.deque双边队列原理详解
2020/10/05 Python
美国折扣网站:jClub
2017/08/07 全球购物
美国最古老的精致书写工具制造商:A.T. Cross(高仕)
2018/01/30 全球购物
mysql的最长数据库名,表名,字段名可以是多长
2014/04/21 面试题
解除劳动合同证明书模板
2014/11/20 职场文书
2014年行政后勤工作总结
2014/12/06 职场文书
社区青年志愿者活动总结
2015/05/06 职场文书
禁毒主题班会教案
2015/08/14 职场文书
电台广播稿范文
2015/08/19 职场文书
外出听课学习心得体会
2016/01/15 职场文书
一文了解MySQL二级索引的查询过程
2022/02/24 MySQL