我正在查找集合是否包含除包含在另一集合中的集合之外的任何值。确定一个集合是否包含不同于另一集合中的值的集合
目前我的代码:
set_entered = set(["ok_word_1", "ok_word_2", "not_ok_word"])
set_allowable = set(["ok_word_1", "ok_word_2","ok_word_3", "ok_word_4"])
set_entered_temp = set(set_entered)
for item in set_allowable :
set_1_temp.discard(item)
if len(set_entered_temp) > 0:
print ("additional terms")
else:
print ("no additional terms")
是否有这样做的一个简单的方法?显然很容易看到一个集合是否包含一个元素[例如集合],但看不到一个明显的方式来看一个集合是否包含一个元素而不是集合中的元素。
更新
只是为了澄清,我只是想看看是否有在entered set
这个术语没有出现在allowable
集。 [也就是说,并不是要看看两组之间是否存在差异,而是要看输入组中是否有值不在另一组中]。
那就是'set.difference()'是 – Kasramvd
您更新后:这仍然是什么'set.difference'是:'{1,2} .difference({2 ,3}) - > {1}“它不担心第二组中包含的内容,但不包含第一组中的内容。 –
您可能会考虑['set.symmetric_difference'](https://docs.python.org/2/library/stdtypes.html#set.symmetric_difference):'{1,2} .symmetric_difference({2,3 }) - > {1,3}' –