下面先給大家介紹下Python 3 判斷2個字典相同的方法,
Python自帶的數據結構dict非常好用,之前不知道怎么比較2個字典是否相同,做法是一個一個key比較過去。。。
現在想到可以直接用==進行判斷!!!
a = dict(one=1, two=2, three=3) b = {'one': 1, 'two': 2, 'three': 3} c = dict(zip(['one', 'two', 'three'], [1, 2, 3])) d = dict([('two', 2), ('one', 1), ('three', 3)]) e = dict({'three': 3, 'one': 1, 'two': 2}) print(a == b == c == d == e)
Python內部對==進行了重載,幫你實現了對key和value進行判斷。
知識點擴展:
Python3 查找兩字典的相同點
問題
怎樣在兩個字典中尋找相同點(比如相同的鍵、相同的值等)?
解決方案
考慮下面兩個字典:
a = { 'x' : 1, 'y' : 2, 'z' : 3 } b = { 'w' : 10, 'x' : 11, 'y' : 2 }
尋找兩個字典的相同點,可以在兩字典的 keys()或者 items() 方法返回結果上執行集合操作。例如:
# Find keys in common a.keys() & b.keys() # Return { 'x', 'y' } # Find keys in a that are not in b a.keys() - b.keys() # Return { 'z' } # Find (key,value) pairs in common a.items() & b.items() # Return { ('y', 2) }
這些集合操作,也可以用于修改或者過濾字典元素,例如:
c = {key:a[key] for key in a.keys() - {'w', 'z'}} print(c) {'y': 2, 'x': 1}
討論
一個字典就是一個鍵集合與值集合的映射關系。
字典的 keys() 方法返回一個展現鍵集合的鍵視圖對象,該對象支持集合操作,比如集合并、交、差運算。 所以,可以直接對字典的鍵執行普通的集合操作,而不用先將它們轉換成一個 set。
字典的 items() 方法返回一個包含 (鍵,值) 對的元素視圖對象,該對象同樣也支持集合操作。
字典的 values() 方法返回結果,并不支持集合操作,因為值視圖不能保證所有的值互不相同,這樣會導致某些集合操作出現問題,可以先將值集合轉換成 set,然后再執行集合運算。
總結
以上所述是小編給大家介紹的Python 3 判斷2個字典相同,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
