Python笔记 之 interval模块

interval模块简介

Python自带interval模块可以定义一个连续区间,适当使用可以简化比较操作。

使用interval创建区间
#闭合区间
a = interval.Interval(0,10)
#开发区间
b = interval.Interval(0,10,closed=False)
#左开右闭
c = interval.Interval(0,10,lower_closed=False)
#左闭右开
d = interval.Interval(0,10,upper_closed=False)
print('a是闭合区间 => ',a,'\n',
      'b是开区间 => ', b, '\n',
      'c是左开右闭区间 => ', c, '\n',
      'd是左闭右开区间 => ', d)
# a是闭合区间 = > [0..10]
# b是开区间 = > (0..10)
# c是左开右闭区间 = > (0..10]
# d是左闭右开区间 = > [0..10)
判断元素是否属于区间
if 10 in a:
    print('10 在 区间a')
else:
    print('10 不在 区间a')
#10 在 区间a
if b in a:
    print('区间b 属于区间a')
else:
    print('区间b 不属于区间a')
#区间b 不属于区间a
区间的合并

注意:区间的合计要求区间需有交集,且已列表[]的形式传入

a = interval.Interval(0,10)
e = interval.Interval(10,20)
ii = interval.IntervalSet([a,e])
print(ii)

#[0..20]
区间的关系

#包含关系

if a in b:
    print('区间b 包含区间a')
else:
    print('区间a 不包含于区间b')
# 区间b 不包含区间a

#不相交关系

if b.adjacent_to(e):
    print('区间b与区间e不相交')
else:
    print('区间b与区间e相交')
#区间b与区间e不相交

#相交关系

print(e.overlaps(a),e.overlaps(b))
#True False

你可能感兴趣的:(Python笔记,python,数据结构)