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两种遍历字典(dict)的方法比较
May 29 Python
对Python中的条件判断、循环以及循环的终止方法详解
Feb 08 Python
Tensorflow实现神经网络拟合线性回归
Jul 19 Python
python从zip中删除指定后缀文件(推荐)
Dec 05 Python
Python GUI自动化实现绕过验证码登录
Jan 10 Python
Python 格式化打印json数据方法(展开状态)
Feb 27 Python
在脚本中单独使用django的ORM模型详解
Apr 01 Python
Flask模板引擎Jinja2使用实例
Apr 23 Python
Python接口开发实现步骤详解
Apr 26 Python
在tensorflow以及keras安装目录查询操作(windows下)
Jun 19 Python
keras:model.compile损失函数的用法
Jul 01 Python
浅谈Python numpy创建空数组的问题
May 25 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
Zend的MVC机制使用分析(二)
2013/05/02 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
php + nginx项目中的权限详解
2017/05/23 PHP
thinkPHP5.1框架中Request类四种调用方式示例
2019/08/03 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
JavaScript中用getDate()方法返回指定日期的教程
2015/06/09 Javascript
js中对函数设置默认参数值的3种方法
2015/10/23 Javascript
js格式化输入框内金额、银行卡号
2016/02/01 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
JavaScript中cookie工具函数封装的示例代码
2016/10/11 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
Vue.js进阶知识点总结
2018/04/01 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
Vue基本指令实例图文讲解
2021/02/25 Vue.js
Python3 Random模块代码详解
2017/12/04 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
python3+PyQt5 实现Rich文本的行编辑方法
2019/06/17 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
2019/11/15 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
CSS3 边框效果
2019/11/04 HTML / CSS
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
英国最大的宠物商店:Pets at Home
2019/04/17 全球购物
Craghoppers德国官网:户外和旅行服装
2020/02/14 全球购物
一道输出判断型Java面试题
2014/10/01 面试题
学校岗位设置方案
2014/01/16 职场文书
美术课外活动总结
2014/07/08 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
2014年市场部工作总结
2014/11/25 职场文书
侵犯商业秘密的律师函
2015/05/27 职场文书
全陪导游词开场白
2015/05/29 职场文书
小学三年级数学教学反思
2016/02/16 职场文书