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实现在windows下操作word的方法
Apr 28 Python
Python递归遍历列表及输出的实现方法
May 19 Python
python的keyword模块用法实例分析
Jun 30 Python
Python开发如何在ubuntu 15.10 上配置vim
Jan 25 Python
Python中基础的socket编程实战攻略
Jun 01 Python
老生常谈Python进阶之装饰器
May 11 Python
python实现八大排序算法(1)
Sep 14 Python
使用浏览器访问python写的服务器程序
Oct 10 Python
Python退出时强制运行一段代码的实现方法
Apr 29 Python
一文轻松掌握python语言命名规范规则
Jun 18 Python
详解python中的lambda与sorted函数
Sep 04 Python
python tkinter模块的简单使用
Apr 07 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
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
php实现求相对时间函数
2015/06/15 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
PHP如何实现订单的延时处理详解
2017/12/30 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
javascript下function声明一些小结
2007/12/28 Javascript
表格 隔行换色升级版
2009/11/07 Javascript
鼠标事件延时切换插件
2011/03/12 Javascript
js css后面所带参数含义介绍
2013/08/18 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
2015/05/12 Javascript
浅谈vue项目重构技术要点和总结
2018/01/23 Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
2018/03/01 Javascript
element-ui 本地化使用教程详解
2019/10/28 Javascript
js实现上下左右键盘控制div移动
2020/01/16 Javascript
基于html+css+js实现简易计算器代码实例
2020/02/28 Javascript
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
Python牛刀小试密码爆破
2011/02/03 Python
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
python中import reload __import__的区别详解
2017/10/16 Python
Python实现的选择排序算法示例
2017/11/29 Python
Python3实现发送QQ邮件功能(附件)
2020/12/23 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
python实现图书借阅系统
2019/02/20 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
2020/04/22 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
企业环保标语
2014/06/10 职场文书
企业标语口号
2014/06/10 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书
民用住房租房协议书
2014/10/29 职场文书
2015元旦联欢晚会结束语
2014/12/14 职场文书
2015年教师节感言
2015/08/03 职场文书
幼师必备:幼儿园期末教师评语50条
2019/11/01 职场文书
python ConfigParser库的使用及遇到的坑
2022/02/12 Python