美文网首页
区间库interval的使用方法

区间库interval的使用方法

作者: 启蒙时代 | 来源:发表于2019-03-02 13:35 被阅读0次

    我们常常会用到区间,例如:

    1,判断一个数,是不是属于这个区间?

    2,两个区间的交集计算?

    等等。

    下面,来学习interval这个区间库:


    一、基本使用:

    from interval import Interval

    zoom_2_5 = Interval(2, 5)

    print(zoom_2_5)

    print(2.5 in zoom_2_5)

    print(6 in zoom_2_5)

    分别返回True和False

    这里,已表达区间的定义、判断是否属于两个用法。

    关于时间区间:

    s1 = datetime.datetime.strptime("2019-03-07 09:30:00", '%Y-%m-%d %H:%M:%S')

    s2 = datetime.datetime.strptime("2019-03-07 11:30:00", '%Y-%m-%d %H:%M:%S')

    s3 = Interval(s1, s2)

    print( datetime.datetime.now() in s3)

    二、闭区间、半天半闭区间

    正常情况下定义的,是一个开区间,即,包含边界。我们也可以定义闭区间和半开半闭区间。

    from intervalimport Interval

    #默认为开区间

    zoom_o2_5=Interval(2,5)

    print(zoom_o2_5)

    print(2 in zoom_o2_5)   #返回 True

    print(5 in zoom_o2_5) #返回 True

    print("--------------")

    #半开半闭区间

    zoom_o2_5 = Interval(2, 5, lower_closed=False)

    print(zoom_o2_5)

    print(2 in zoom_o2_5)  #返回  False

    print(5 in zoom_o2_5) #返回 True

    print("--------------")

    #闭区间

    zoom_o2_5 = Interval(2, 5, closed=False)

    print(zoom_o2_5)

    print(2 in zoom_o2_5) #返回  False

    print(5 in zoom_o2_5) #返回  False

    三、判断两个区间是否重复

    a=Interval(1,5)

    b=Interval(4,10)

    c=Interval(9,33)

    print(a.overlaps(b))   #返回 True

    print(a.overlaps(c))  # 返回False

    四、合并两个有交集的区间

    对于无交集的区间是无法合并的。

    a=Interval(1,5)

    b=Interval(4,10)

    print(a.join(b))

    返回[1..10]

    五、判断两个区间是否不重叠的毗邻

    a=Interval(1,5)

    print(a)

    b=Interval(5,10, lower_closed=False)

    print(b)

    print(a.adjacent_to(b))

    返回True

    六、构造求交集函数:

    def chongdie(a,b):

    x=[]

    x.append(a.upper_bound)

    x.append(b.lower_bound)

    x.append(a.lower_bound)

    x.append(b.upper_bound)

    x.sort()

    return Interval(x[1],x[2])

    相关文章

      网友评论

          本文标题:区间库interval的使用方法

          本文链接:https://www.haomeiwen.com/subject/lcueuqtx.html