背景:
已知一个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
---疲惫的我,只想在街上找辆法拉利或者兰博基尼去试试头够不够铁