我有一个我知道正在增加的值列表,例如
x = [1, 2, 3, 4, 5, 6]
我正在寻找某个范围[min, max]
范围内的子集索引。例如。我想要
>> subset_indices(x, 2, 4)
[1, 3]
>> subset_indices(x, 1.1, 7)
[1, 5]
有没有一种不错的pythonic方法呢?
答案 0 :(得分:1)
根据Kenny Ostrom和volcano的建议,我将其简化为
import bisect
def subset_indices(sequence, minv, maxv):
low = bisect.bisect_left(sequence, minv)
high = bisect.bisect_left(sequence, maxv, lo=low)
return [low, high]