最近在对几个取值范围做处理时发现很麻烦,需要判断左右,需要判断开闭合,料想强大的Python一定有人准备好了这样的轮子。搜了一下,果不其然,找到了pyinterval这个包。满心欢喜以为找到正解,发现这个模块过于简单(可能是我太菜了),连如何表达“开”区间都没有找到。
最后在百度上还是找到了蛛丝马迹,一篇博客之前提到过。原地址么的了,找了人家转载的。API的使用已经旧了,现在不支持了,但是方向是对的,感谢大神。
http://www.cnblogs.com/cotyb/p/5256303.html
其中提到了一个叫intervals的库。辗转终于在Github上找到了这个库,发现这个才是我想要的。
举个简单例子,具体实现有待进一步探索。
>>> from intervals import IntInterval
>>> interval = IntInterval.open_closed(1, 2)
>>> interval
IntInterval('(1, 2]')
>>> interval = IntInterval.open(2, 3)
>>> interval
IntInterval('(2, 3)')
>>> interval = IntInterval.closed_open(1, 2)
>>> interval
IntInterval('[1, 2)')
>>> 1 in interval
True
>>> 2 in interval
False