問題引入:有兩個字典,找出它們之間相同的地方
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)}
通過差并交運算來創(chuàng)建一個新的字典:
c = {key: a[key] for key in a.keys() - {'z': 3}}
c
Out[9]: {'x': 1, 'y': 2}
總結(jié):
1、字典的keys()方法返回key-view對象,items()方法返回items-view對象;
2、可以直接對key-view對象和items-view對象進行差并交運算,不必先轉(zhuǎn)換為集合;
3、字典的values()方法返回的對象不支持集合操作,可以先轉(zhuǎn)換成集合,再進行差并交運算。