Python 3 判斷2個字典相同
下面先給大家介紹下Python 3 判斷2個字典相同的方法,
Python自帶的數(shù)據(jù)結(jié)構(gòu)dict非常好用,之前不知道怎么比較2個字典是否相同,做法是一個一個key比較過去。。。
現(xiàn)在想到可以直接用==進(jìn)行判斷?。?!
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內(nèi)部對==進(jìn)行了重載,幫你實現(xiàn)了對key和value進(jìn)行判斷。
知識點擴(kuò)展:
Python3 查找兩字典的相同點
問題
怎樣在兩個字典中尋找相同點(比如相同的鍵、相同的值等)?
解決方案
考慮下面兩個字典:
a = {
'x' : 1,
'y' : 2,
'z' : 3
}
b = {
'w' : 10,
'x' : 11,
'y' : 2
}
尋找兩個字典的相同點,可以在兩字典的 keys()或者 items() 方法返回結(jié)果上執(zhí)行集合操作。例如:
# 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}
討論
一個字典就是一個鍵集合與值集合的映射關(guān)系。
字典的 keys() 方法返回一個展現(xiàn)鍵集合的鍵視圖對象,該對象支持集合操作,比如集合并、交、差運算。 所以,可以直接對字典的鍵執(zhí)行普通的集合操作,而不用先將它們轉(zhuǎn)換成一個 set。
字典的 items() 方法返回一個包含 (鍵,值) 對的元素視圖對象,該對象同樣也支持集合操作。
字典的 values() 方法返回結(jié)果,并不支持集合操作,因為值視圖不能保證所有的值互不相同,這樣會導(dǎo)致某些集合操作出現(xiàn)問題,可以先將值集合轉(zhuǎn)換成 set,然后再執(zhí)行集合運算。
總結(jié)
以上所述是小編給大家介紹的Python 3 判斷2個字典相同,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Python中import導(dǎo)入上一級目錄模塊及循環(huán)import問題的解決
Python中的import語句導(dǎo)入模塊相信大家再熟悉不過了,這里我們會來講解Python中import導(dǎo)入上一級目錄模塊及循環(huán)import問題的解決,需要的朋友可以參考下2016-06-06
對python操作kafka寫入json數(shù)據(jù)的簡單demo分享
今天小編就為大家分享一篇對python操作kafka寫入json數(shù)據(jù)的簡單demo,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
python四個坐標(biāo)點對圖片區(qū)域最小外接矩形進(jìn)行裁剪
在圖像裁剪操作中,opencv和pillow兩個庫都具有相應(yīng)的函數(shù),如果想要對目標(biāo)的最小外接矩形進(jìn)行裁剪該如何操作呢?本文就來詳細(xì)的介紹一下2021-06-06
Python基礎(chǔ)之教你怎么在M1系統(tǒng)上使用pandas
這篇文章主要介紹了Python基礎(chǔ)之教你怎么在M1系統(tǒng)上使用pandas,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05
Python使用Supervisor來管理進(jìn)程的方法
這篇文章主要介紹了Python使用Supervisor來管理進(jìn)程的方法,涉及Supervisor的相關(guān)使用技巧,需要的朋友可以參考下2015-05-05
python 解決flask 圖片在線瀏覽或者直接下載的問題
今天小編就為大家分享一篇python 解決flask 圖片在線瀏覽或者直接下載的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01

