背景:
已知一個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