【发布时间】:2016-04-18 09:22:05
【问题描述】:
给定一个 有序 整数列表 A 和一个整数 q <= A[-1],我想找到最小的非负索引 i 使得 A[i] >= q。
我可以想办法有效地完成此操作(例如,使用某种形式的二进制搜索),但我想知道 Python 的标准库或 numpy/scipy 中是否有任何东西我可以用它来实现。
(例如,类似于 MATLAB 的 interp1 函数。)
【问题讨论】:
给定一个 有序 整数列表 A 和一个整数 q <= A[-1],我想找到最小的非负索引 i 使得 A[i] >= q。
我可以想办法有效地完成此操作(例如,使用某种形式的二进制搜索),但我想知道 Python 的标准库或 numpy/scipy 中是否有任何东西我可以用它来实现。
(例如,类似于 MATLAB 的 interp1 函数。)
【问题讨论】:
Python 提供了一个用于在排序列表上执行二进制搜索操作的模块:bisect。我相信你想要的功能是bisect_left。
【讨论】:
searchsorted。