我有一个递增值的列表l
,例如
import numpy as np
l=np.linspace(0.,1.,10)
对于一个数字a=0.225
,我想要找到索引i
,这样l[i]<a<l[i+1]
。当然,我能做到
for j in range(len(l)-1):
if l[j]<a<l[j+1]:
i=j
break
但有没有一种更综合的方法来做到这一点呢?
发布于 2019-05-14 03:08:52
正如评论中提到的,对于要排序的l
,我们可以使用np.searchsorted
-
np.searchsorted(l,a,'right')-1
或者使用np.digitize
-
np.digitize(a,l,right=True)-1
https://stackoverflow.com/questions/56118469
复制相似问题