kru*_*kin 4 python intersection set
我经常发现自己想测试两个集合的交集而不使用交集的结果。
set1 = set([1,2])
set2 = set([2,3])
if(set1 & set2):
print("Non-empty intersection")
else:
print("Empty intersection")
Run Code Online (Sandbox Code Playgroud)
问题是创建了一个新的集合来执行此测试,这可能效率很低。
是否有一个简短的方法无需明确写出即可(如下所示)?
if(any(x in set2 for x in set1)):
print("Non-empty intersection")
else:
print("Empty intersection")
Run Code Online (Sandbox Code Playgroud)
您正在寻找set.isdisjoint(),因为当且仅当集合具有空交集时,集合才是不相交的。
>>> set1 = set([1,2])
>>> set2 = set([2,3])
>>> set1.isdisjoint(set2)
False
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
691 次 |
| 最近记录: |