在蟒的列表形成起来,蟒,找到其中多个属于一个范围,范围是从整数
有整数列表,列表中的每个连续的整数形成了一个范围。对于给定的数字,我想查找数字所属的范围,并返回范围(或范围的起点)。例如。
名单:
[1, 8, 11, 20, 37, 66, 99, 120, ...... ,56000,59001, .....]
数量:
100
结果:
(99,12) OR 99
的数字是按升序排列,并形成区域不重叠,大小的列表总是2的倍数。
该列表可能很长,并且有很多数字需要检查。
我试图整数包成intervalTree,并使用搜索()函数来检查,但它似乎慢:
for i in integerList:
t = IntervalTree(Interval(*iv) for iv in zip(*[iter(annotation_dict.get(i))] * 2))
t.search(theNumber)
是否有可能做的更快,更好?谢谢。
非常感谢,它运作良好。 – Xiangwu
不客气@祥武。我很高兴这是有帮助的 – innoSPG