Skip to main content
 首页 » 编程设计

python之从间隔列表中确定值的位置(综合解决方案)

2025年05月04日22itcoder

我有一个列表 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 
 

但是有没有更综合的方法来做到这一点?

请您参考如下方法:

如评论中所述,对于l进行排序,我们可以使用np.searchsorted -

np.searchsorted(l,a,'right')-1 

或者用np.digitize -

np.digitize(a,l,right=True)-1