我有三组包含独特元素。我想添加一个条件,如果set_out
和frozen
中没有元素,那么它必须存在于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_out
和frozen
中找不到元素,那么特定元素必须存在于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
答案 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))