python

超轻量级php框架startmvc

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

更新时间:2020-05-22 02:42:01 作者:startmvc
本文实例讲述了Python实现查找两个字典相同点的方法。分享给大家供大家参考,具体如下:

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

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

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


>>> 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 cookbook 数据结构与算法 查找 字典 相同点
相关文章

Pandas-Cookbook 时间戳处理方式

Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作

Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法

Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例

Python cookbook(数据结构与算法)从字典中提取子集的方法示例

Python cookbook(数据结构与算法)将名称映射到序列元素中的方法

Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例

Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例

Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例

Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例

Python cookbook(数据结构与算法)根据字段将记录分组操作示例

Python cookbook(数据结构与算法)筛选及提取序列中元素的方法

Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法

Python cookbook(数据结构与算法)对切片命名清除索引的方法

Python cookbook(数据结构与算法)将序列分解为单独变量的方法

Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例

Python cookbook(数据结构与算法)保存最后N个元素的方法

Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例

Python cookbook(数据结构与算法)实现优先级队列的方法示例

Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法