我想检查一个列表的范围是否在下一个列表的范围内,下面是一个示例:
pos = [[50, 100], [50, 200], [250, 1500], [300, 2000], [300, 3300]]
我们在这里可以看到,pos[0]
在pos[1]
([50, 100]
包含在[50, 200]
中)的范围内,pos[2]
与{
为此,我创建了一个返回布尔值的函数:
^{pr2}$它看起来很难看,有谁能提出另一个解决方案吗?在
编辑:
正如@MKesper建议的那样,我还应该使用一个循环迭代列表项(也许可以得到每个位置的True/False列表)。在
您知道范围}的范围内(因此}之间,但我们假设
[a,b]
在给定的c <= a
和{a,b
夹在c,d
或{a < b
始终保持不变)。因此,您可以简单地使用:如果您想检查是否存在任何此类情况,可以使用:
^{pr2}$将列表与其移位副本压缩/交错,然后检查以前的项是否包含在该范围内。在
一个计算所有元素的线性函数:
结果:
^{pr2}$(结果当然少了1项:最后一项不合格/未经测试)
也许
all
是过度杀戮,因为只有2个值要测试,所以另一个替代方法可以是:相关问题 更多 >
编程相关推荐