是否有任何有效的方法可以将集合与集合列表进行比较。目前,我只是循环遍历集合列表,并将列表的每个元素与特定集合进行比较。
例如:set1=Set([1,2,5]) and lst1=[Set([1,2,3,4,5]),Set([10,11,12]),Set([7,8,9])]
现在我必须将set1
与列表lst1
中的每个集进行比较。现在如果我得到set1-st==0
st
lst1
中的set1-st!=0
,我将从循环中断,但会在sh
时继续。
有没有有效的方法来进行这种比较,或者我们必须以旧的方式进行(迭代列表并与给定的集合进行比较。)
答案 0 :(得分:0)
在这种情况下,您可以使用all()
内置函数:
>>> set1=set([1,2,5])
>>> lst1=[set([1,2,3,4,5]),set([10,11,12]),set([7,8,9])]
>>>
>>> all(set1-i for i in lst1)
False
>>>
>>> all(i-set1 for i in lst1)
True
或者根据您的情况,您可以使用set.union()
创建一个统一的列表集,然后对您的设置和新设置执行操作:
>>> set().union(*lst1)
{1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12}