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的Django框架中为代码添加注释的方法
Jul 16 Python
python开发之list操作实例分析
Feb 22 Python
python 循环遍历字典元素的简单方法
Sep 11 Python
Sanic框架安装与简单入门示例
Jul 16 Python
Python3.5 处理文本txt,删除不需要的行方法
Dec 10 Python
python调用动态链接库的基本过程详解
Jun 19 Python
Python类中方法getitem和getattr详解
Aug 30 Python
python中time库的实例使用方法
Oct 31 Python
python3 常见解密加密算法实例分析【base64、MD5等】
Dec 19 Python
python爬虫实现获取下一页代码
Mar 13 Python
pyinstaller打包找不到文件的问题解决
Apr 15 Python
python中四舍五入的正确打开方式
Jan 18 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版国家代码、缩写查询函数代码
2011/08/14 PHP
CodeIgniter输出中文乱码的两种解决办法
2014/06/12 PHP
PHP中__FILE__、dirname与basename用法实例分析
2014/12/01 PHP
PHP 实现类似js中alert() 提示框
2015/03/18 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
yii2带搜索功能的下拉框实例详解
2016/05/12 PHP
js 走马灯简单实例
2013/11/21 Javascript
js 实现的可折叠留言板(附源码下载)
2014/07/01 Javascript
jQuery实现的鼠标滑过弹出放大图片特效
2016/01/08 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
浅谈Node异步编程的机制
2017/10/18 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
2017/12/28 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
微信小程序登录态和检验注册过没的app.js写法
2019/05/22 Javascript
vue通信方式EventBus的实现代码详解
2019/06/10 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
2020/10/20 Javascript
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
[49:56]VG vs Optic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python基于DES算法加密解密实例
2015/06/03 Python
Python 3中的yield from语法详解
2017/01/18 Python
如何利用Pyecharts可视化微信好友
2019/07/04 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
10个最常见的HTML5面试题 附答案
2016/06/06 HTML / CSS
海滩咖啡馆:Beach Cafe
2018/02/02 全球购物
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
网络工程师的自我评价
2013/10/02 职场文书
“六查”、“三学”、“三干”查摆问题整改措施
2014/09/27 职场文书
杭州西湖英语导游词
2015/02/03 职场文书
少先队中队工作总结
2015/08/14 职场文书
教你快速开启Apache SkyWalking的自监控
2021/04/25 Servers
SQL实现LeetCode(176.第二高薪水)
2021/08/04 MySQL
JavaScript的Set数据结构详解
2022/02/18 Javascript