dict.keys()和dict.items()对象的差并交运算

问题引入:有两个字典,找出它们之间相同的地方

a = {'x': 1, 'y': 2, 'z': 3}
b = {'w': 10, 'x': 11, 'y': 2}
a.keys()
Out[3]: dict_keys(['y', 'x', 'z'])
a.keys() & b.keys()
Out[4]: {'x', 'y'}
a.keys() - b.keys()
Out[5]: {'z'}
a.items() & b.items()
Out[6]: {('y', 2)}

通过差并交运算来创建一个新的字典:

c = {key: a[key] for key in a.keys() - {'z': 3}}
c
Out[9]: {'x': 1, 'y': 2}

总结:
1、字典的keys()方法返回key-view对象,items()方法返回items-view对象;
2、可以直接对key-view对象和items-view对象进行差并交运算,不必先转换为集合;
3、字典的values()方法返回的对象不支持集合操作,可以先转换成集合,再进行差并交运算。

你可能感兴趣的:(dict.keys()和dict.items()对象的差并交运算)