jjzjj

intersection

全部标签

Python set Union 和 set Intersection 的操作方式不同?

我在Python中做一些集合操作,我注意到一些奇怪的东西..>>set([1,2,3])|set([2,3,4])set([1,2,3,4])>>set().union(*[[1,2,3],[2,3,4]])set([1,2,3,4])这是良好的预期行为-但有交叉点:>>set([1,2,3])&set([2,3,4])set([2,3])>>set().intersection(*[[1,2,3],[2,3,4]])set([])我在这里疯了吗?为什么set.intersection()没有像我预期的那样运行?我怎样才能像使用union那样做许多集合的交集(假设[[1,2,3],[2

Python - 多个列表的交集?

我正在玩python,并且能够得到两个列表的交集:result=set(a).intersection(b)现在如果d是一个包含a和b以及第三个元素c的列表,是否有用于查找d中所有三个列表的交集的内置函数?比如,d=[[1,2,3,4],[2,3,4],[3,4,5,6,7]]那么结果应该是[3,4] 最佳答案 set.intersection(*map(set,d)) 关于Python-多个列表的交集?,我们在StackOverflow上找到一个类似的问题:

Python - 多个列表的交集?

我正在玩python,并且能够得到两个列表的交集:result=set(a).intersection(b)现在如果d是一个包含a和b以及第三个元素c的列表,是否有用于查找d中所有三个列表的交集的内置函数?比如,d=[[1,2,3,4],[2,3,4],[3,4,5,6,7]]那么结果应该是[3,4] 最佳答案 set.intersection(*map(set,d)) 关于Python-多个列表的交集?,我们在StackOverflow上找到一个类似的问题:

list - 测试列表是否共享 python 中的任何项目

我想检查一个列表中的任何项目是否存在于另一个列表中。我可以用下面的代码简单地做到这一点,但我怀疑可能有一个库函数来做到这一点。如果没有,是否有更pythonic的方法来实现相同的结果。In[78]:a=[1,2,3,4,5]In[79]:b=[8,7,6]In[80]:c=[8,7,6,5]In[81]:deflists_overlap(a,b):....:foriina:....:ifiinb:....:returnTrue....:returnFalse....:In[82]:lists_overlap(a,b)Out[82]:FalseIn[83]:lists_overlap(a

list - 测试列表是否共享 python 中的任何项目

我想检查一个列表中的任何项目是否存在于另一个列表中。我可以用下面的代码简单地做到这一点,但我怀疑可能有一个库函数来做到这一点。如果没有,是否有更pythonic的方法来实现相同的结果。In[78]:a=[1,2,3,4,5]In[79]:b=[8,7,6]In[80]:c=[8,7,6,5]In[81]:deflists_overlap(a,b):....:foriina:....:ifiinb:....:returnTrue....:returnFalse....:In[82]:lists_overlap(a,b)Out[82]:FalseIn[83]:lists_overlap(a

Java:有没有一种简单、快速的方法来对集合进行 AND、OR 或 XOR?

也就是说,如果我有两个或更多集合,并且我想返回一个新集合,其中包含:每组的所有元素都有共同点(AND)。每个集合的所有元素的总和(OR)。每个集合独有的所有元素。(XOR)。有没有一种简单的、预先存在的方法来做到这一点?编辑:这是错误的术语,不是吗? 最佳答案 假设2设置对象a和bAND(两个集合的交集)a.retainAll(b);OR(两个集合的并集)a.addAll(b);异或要么滚动你自己的循环:foreachitemif(a.contains(item)and!b.contains(item)||(!a.contains(

Java:有没有一种简单、快速的方法来对集合进行 AND、OR 或 XOR?

也就是说,如果我有两个或更多集合,并且我想返回一个新集合,其中包含:每组的所有元素都有共同点(AND)。每个集合的所有元素的总和(OR)。每个集合独有的所有元素。(XOR)。有没有一种简单的、预先存在的方法来做到这一点?编辑:这是错误的术语,不是吗? 最佳答案 假设2设置对象a和bAND(两个集合的交集)a.retainAll(b);OR(两个集合的并集)a.addAll(b);异或要么滚动你自己的循环:foreachitemif(a.contains(item)and!b.contains(item)||(!a.contains(

java - 圆与长方形相交的面积

我正在寻找一种快速的方法来确定矩形和圆形之间的相交面积(我需要进行数百万次这样的计算)。一个特定的属性是,在所有情况下,圆和矩形总是有2个交点。 最佳答案 给定2个交点:0个顶点在圆圈内:circularsegment的面积XXXXX-------------------XXXXCircularsegmentXXXXXX+-X-------X--+XXXXXXXX|XX||XXXXX|1个顶点在圆内:圆弧和三角形的面积之和。XXXXXXXXXXXXXXXXTriangle->X_-XXXX_-XX+--X--+X_-X2个顶点在圆内

java - 圆与长方形相交的面积

我正在寻找一种快速的方法来确定矩形和圆形之间的相交面积(我需要进行数百万次这样的计算)。一个特定的属性是,在所有情况下,圆和矩形总是有2个交点。 最佳答案 给定2个交点:0个顶点在圆圈内:circularsegment的面积XXXXX-------------------XXXXCircularsegmentXXXXXX+-X-------X--+XXXXXXXX|XX||XXXXX|1个顶点在圆内:圆弧和三角形的面积之和。XXXXXXXXXXXXXXXXTriangle->X_-XXXX_-XX+--X--+X_-X2个顶点在圆内

java - 有效地找到可变数量的字符串集的交集

我有一个可变数量的ArrayList,我需要找到它们的交集。字符串组数的实际上限可能在35左右,但可能更多。我不想要任何代码,只是想知道什么是有效的。我有一个即将开始编码但想听听其他想法的实现。目前,只是考虑我的解决方案,看起来我应该有一个Θ(n2)的渐近运行时间。感谢您的帮助!tshred编辑:澄清一下,我真的只是想知道是否有更快的方法来做到这一点。比Θ(n2)快。 最佳答案 Set.retainAll()是你如何找到两个集合的交集。如果您使用HashSet,则将您的ArrayLists转换为Sets并在循环中使用retainAl