问题引入:有两个字典,找出它们之间相同的地方
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()方法返回的对象不支持集合操作,可以先转换成集合,再进行差并交运算。
网友评论