本文實(shí)例講述了Python實(shí)現(xiàn)查找兩個(gè)字典相同點(diǎn)的方法。分享給大家供大家參考,具體如下:
問題:尋找兩個(gè)字典中間相同的地方(相同的鍵、相同的值等)
解決方案:通過keys()或者items()方法來執(zhí)行常見的集合操作(比如求并集、交集和差集)

>>> a={'x':1,'y':2,'z':3}>>> b={'ww':10,'x':11,'y':2}>>> a.keys()& b.keys() #鍵的交集{'y', 'x'}>>> a.keys()- b.keys() #鍵的差集{'z'}>>> a.keys()| b.keys() #鍵的并集{'ww', 'y', 'x', 'z'}>>> a.items()& b.items(){('y', 2)}>>> a.items()- b.items(){('z', 3), ('x', 1)}>>> a.items()| b.items(){('ww', 10), ('z', 3), ('x', 1), ('x', 11), ('y', 2)}>>>這些類型的操作也可用來修改或過濾掉字典中的內(nèi)容。例如:
>>> c = {key:a[key] for key in a.keys()-{'w','z'}} #新建一個(gè)去掉某些鍵的新字典>>> c{'y': 2, 'x': 1}>>>總結(jié):
字典的keys()方法、items()方法支持集合操作,但是values()方法不支持。因?yàn)樵谧值渲袕闹档慕嵌葋砜床⒉荒鼙WC所有的值都是唯一的,這會(huì)導(dǎo)致某些集合操作存在問題。但是可以通過將值轉(zhuǎn)化為集合來實(shí)現(xiàn)此類操作。
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選