【发布时间】:2018-04-25 15:01:16
【问题描述】:
我需要找出两个具有起始值和结束值的数组之间是否有任何交集(此https://en.wikipedia.org/wiki/Intersection_(set_theory) 上的wiki)。例如(只是少数情况):
a = (10, float("inf"))
b = (8, float("inf"))
或
a = (10, 20)
b = (4, 25)
所以,b 包含 a。我怎样才能在 python 中做到这一点?有什么工具可以做到这一点吗? 谢谢
【问题讨论】:
-
只是
return a[0]>=b[0] and a[1]<=b[1] -
@Jean-FrançoisFabre:这测试了
a是否是b的子范围,这比两个范围在某个时间间隔简单地重叠更有效。 -
true:在 OP 示例中
b包含a -
您已经确定了确定一个区间是否包含另一个区间的逻辑。你怎么不能为此写
if条件?即便如此,通过搜索“Python 区间包含”也很容易找到代码。这些点击如何没有解决您的问题?没有尝试... -
您展示的不是 Python 集,尽管您可以使用
sympy库制作此类集。 Python 集的值必须是有限的。
标签: python python-3.x math intersection set-theory