Python中与C++的std::lower_bound和std::upper_bound算法相对应的是什么?

57
Python提供用于在已排序列表中执行二分搜索的函数吗?类似于C++标准库中的std::lower_bound和std::upper_bound算法?请注意,您只需要将结果返回为中文即可。

参见:https://dev59.com/iXVC5IYBdhLWcg3wsTVi - Karl Knechtel
2个回答

80

这些函数位于 bisect 模块中:

  • bisect.bisect_left(a, x, lo=0, hi=len(a))std::lower_bound()的类比函数。

  • bisect.bisect_right(a, x, lo=0, hi=len(a))std::upper_bound()的类比函数。

注意:还有一个名为 bisect() 的函数,其是 bisect_right() 的别名。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接