日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

《Python Cookbook 3rd》笔记(1.9):查找两字典的相同点

發布時間:2023/12/13 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《Python Cookbook 3rd》笔记(1.9):查找两字典的相同点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

查找兩字典的相同點

問題

怎樣在兩個字典中尋尋找相同點 (比如相同的鍵、相同的值等等)?

解法

考慮下面兩個字典:

a = {'x' : 1,'y' : 2,'z' : 3 }b = {'w' : 10,'x' : 11,'y' : 2 }

為了尋找兩個字典的相同點,可以簡單的在兩字典的keys()或者items()方法返回結果上執行集合操作。比如:

# Find keys in common a.keys() & b.keys() # { 'x', 'y' } # Find keys in a that are not in b a.keys() - b.keys() # { 'z' } # Find (key,value) pairs in common a.items() & b.items() # { ('y', 2) }

這些操作也可以用于修改或者過濾字典元素。比如,假如你想以現有字典構造一個排除幾個指定鍵的新字典。下面利用字典推導來實現這樣的需求:

# Make a new dictionary with certain keys removed c = {key:a[key] for key in a.keys() - {'z', 'w'}}# 字典推導式新知識點 # c is {'x': 1, 'y': 2}

討論

一個字典就是一個鍵集合與值集合的映射關系。字典的 keys() 方法返回一個展現鍵集合的鍵視圖對象。鍵視圖的一個很少被了解的特性就是它們也支持集合操作,比如集合并、交、差運算。所以,如果你想對集合的鍵執行一些普通的集合操作,可以直接使用鍵視圖對象而不用先將它們轉換成一個set。

字典的items()方法返回一個包含(鍵,值)對的元素視圖對象。這個對象同樣也支持集合操作,并且可以被用來查找兩個字典有哪些相同的鍵值對。

盡管字典的 values() 方法也是類似,但是它并不支持這里介紹的集合操作。某種程度上是因為值視圖不能保證所有的值互不相同,這樣會導致某些集合操作會出現問題。不過,如果你硬要在值上面執行這些集合操作的話,你可以先將值集合轉換成set,然后再執行集合運算就行了。

總結

以上是生活随笔為你收集整理的《Python Cookbook 3rd》笔记(1.9):查找两字典的相同点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。