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

  

原文地址:https://www.cnblogs.com/dflblog/p/11944980.html