Does python provide functions for performing binary search on sorted lists, analogous to the std::lower_bound and std::upper_bound algorithms of the C++ Standard Library?
Asked
Active
Viewed 2.1k times
46
Leon
- 29,760
- 4
- 60
- 86
1 Answers
66
Those functions are located in the bisect module:
bisect.bisect_left(a, x, lo=0, hi=len(a)) is the analog of
std::lower_bound().bisect.bisect_right(a, x, lo=0, hi=len(a)) is the analog of
std::upper_bound().
Note: there is also a function bisect() which is an alias for bisect_right().
Leon
- 29,760
- 4
- 60
- 86