首页 > 代码库 > 对字典作集合操作

对字典作集合操作

>>> d1 = dict(a = 1, b = 2)
>>> d2 = dict(b = 2, c = 3)
>>> d1 & d2 # 字典不?支持该操作
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for &: dict and dict
>>> v1 = d1.viewitems()
>>> v2 = d2.viewitems()
>>> v1 & v2 # 交集
set([(b, 2)])
>>> dict(v1 & v2) # 可以转化为字典
{b: 2}
>>> v1 | v2 # 并集
set([(a, 1), (b, 2), (c, 3)])
>>> v1 - v2 #差集(仅v1有,v2没有的)
set([(a, 1)])
>>> v1 ^ v2 # 对称差集 (不会同时出现在 v1 和 v2 中)
set([(a, 1), (c, 3)])
>>> (a, 1) in v1 #判断
True