检查在集合中找到的元素是否在另一个集合中找到

时间:2018-02-05 10:56:17

标签: python function set

我有三组包含独特元素。我想添加一个条件,如果set_outfrozen中没有元素,那么它必须存在于set_general中才能使下游进程发生。我只展示了实际代码的相关部分。我坚持写这个条件。建议将受到高度赞赏。

例如:set_out = set([2,4,8,3,5])frozen = set([2,5,12,15])set_general = set([2,4,8,3,5,12,15,20,25])。我想要的是如果在set_outfrozen中找不到元素,那么特定元素必须存在于set_general中,以使布尔initially为True。

def flipper(set_out,frozen,set_general):
    initially = False
    for_symmetric_diff = set_out.symmetric_difference_update(frozen)
    for i in for_symmetric_diff:
        if for_symmetric_diff not in set_general:
            initially = False
            return False
        else:
            initially = True
            return True

1 个答案:

答案 0 :(得分:1)

你不需要foreach集合,python让你通过使用关键字“in”检查一个集合是否包含一个元素,使其适应你的需要(在这个例子中,如果elt在其中一个集合中它返回true ,否则为假):

def flipper(set_out, frozen, set_general, elt):
    return elt in set_out or elt in frozen or elt in set_general

set_out = set([2,4,8,3,5])
frozen = set([2,5,12,15])
set_general = set([2,4,8,3,5,12,15,20,25])

print(flipper(set_out, frozen, set_general, 50))
print(flipper(set_out, frozen, set_general, 25))