python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python 对比两个字典的差异

python对比两个字典dict的差异详解

作者:虚坏叔叔

这篇文章主要为大家详细介绍了python 如何对比两个字典dict的不同差异,文中的示例代码简洁易懂,具有一定的学习价值,感兴趣的可以了解一下

python 对比两个字典的差异

python的字典很有用处 如果通过pickle存储字典后,下次爬取到另一块数据,可以通过比较不同,来发现更多的机会。已知如下2个字典

a = {
    "x":1,
    "y":2,
    "z":3
}
b = {
    "x":1,
    "w":11,
    "z":12
}

通过items可以查看它的每一项

print(a.items())
>>>dict_items([('x', 1), ('y', 2), ('z', 3)])

查看字典a 和字典b 的不共有的key

print(a.keys() & b.keys())
>>>{'x', 'z'}

查看在字典a里面而不在字典b里面的key

print(a.keys() - b.keys())
>>>{('x', 1)}

查看字典a和字典b相同的键值对

print(a.items() & b.items())
>>>{('x', 1)}

查找所有差异

differ = set(a.items()) ^ set(b.items())
print(differ)
>>>{('z', 3), ('y', 2), ('z', 12), ('w', 11)}

查找相同key,不同value

diff = a.keys() & b
diff_vals = [(k, a[k], b[k]) for k in diff if a[k] != b[k]]
print(diff_vals)
>>>[('z', 3, 12)]

结语

到此这篇关于python对比两个字典dict的差异详解的文章就介绍到这了,更多相关python 对比两个字典的差异内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文