python之判斷字典中是否包含另一字典


背景:

  已知一個dict,比如為a = {"a":1},另一個dict比如為b = {"a":1,"b":2},想要一個判斷的結果判斷a是否在與b中。

  可用於校驗請求,斷言返回值

用法:

  先看一下字典的所有相關用法,再去看看我們怎么實現。

  

  

## 此時用字典來實現的話
a = {"a":1,"b":2} b = {"a":1,"b":2,"c":3} ### 可知a是b的子集,想要的結果就是a存在與b中時,給我true,不存在給我false ## 如果用字典方法來處理這種情況 for i,j in a.items(): if i in b.keys(): if j == b[i]: print(f"a的值存在與b中,{i,j}")

如上,這種用字典來處理,就顯得邏輯亂並且很局限

下面可以用set來實現

先科普一下set

set與字典類似,無序,沒有value

set的issubset方法,a.issubset(b) :判斷集合 a 的所有元素是否都包含在集合 b 中,a必須是set,b可以是set,可以是dict

a = {"a":1,"b":2}
b = {"a":1,"b":2,"c":3}

## 用set來實現
aa = set(a.items())     #{('a', 1), ('b', 2)}
bb = set(b.items())     #{('a', 1), ('c', 3), ('b', 2)}

print(aa.issubset(b.items()))      ## true
print(aa.issubset(bb))             ## true

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM