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  连接字符串(join %)
Sep 06 Python
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
Feb 04 Python
Python的Django框架中设置日期和字段可选的方法
Jul 17 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
Python3之文件读写操作的实例讲解
Jan 23 Python
python 实现求解字符串集的最长公共前缀方法
Jul 20 Python
解决Pycharm下面出现No R interpreter defined的问题
Oct 29 Python
对python:print打印时加u的含义详解
Dec 15 Python
关于tensorflow softmax函数用法解析
Jun 30 Python
只用40行Python代码就能写出pdf转word小工具
May 31 Python
Python并发编程实例教程之线程的玩法
Jun 20 Python
python实现剪贴板的操作
Jul 01 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
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
PHP5 面向对象程序设计
2008/02/13 PHP
php preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
js可突破windows弹退效果代码
2008/08/09 Javascript
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
javascript 基础篇2 数据类型,语句,函数
2012/03/14 Javascript
JavaScript异步调用定时方法并停止该方法实现代码
2012/03/16 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
判定是否原生方法的JS代码
2013/11/12 Javascript
Javascript基础教程之函数对象和属性
2015/01/18 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
Express+Nodejs 下的登录拦截实现代码
2017/07/01 NodeJs
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
2018/02/18 jQuery
react native 文字轮播的实现示例
2018/07/27 Javascript
vue watch深度监听对象实现数据联动效果
2018/08/16 Javascript
react+redux仿微信聊天界面
2019/06/21 Javascript
vue css 引入asstes中的图片无法显示的四种解决方法
2020/03/16 Javascript
js实现碰撞检测
2021/01/29 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
详解python3实现的web端json通信协议
2016/12/29 Python
Python实现快速计算词频功能示例
2018/06/25 Python
使用python3批量下载rbsp数据的示例代码
2019/12/20 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
Python 2.6.6升级到Python2.7.15的详细步骤
2020/12/14 Python
荷兰演唱会和体育比赛订票网站:viagogo荷兰
2018/04/08 全球购物
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
英文自我鉴定
2013/12/10 职场文书
国际贸易专业个人鉴定
2014/02/22 职场文书
同学聚会策划方案
2014/06/06 职场文书
使用PDF.js渲染canvas实现预览pdf的效果示例
2021/04/17 Javascript
JS Canvas接口和动画效果大全
2021/04/29 Javascript
为自由献出你的心脏!「进击的巨人展 FINAL」2022年6月在台开展
2022/04/13 日漫