Tim Peters added the comment:
What's your objection? Here's your original example:
>>> from bisect import *
>>> L = [1,2,3,3,3,4,5]
>>> x = 3
>>> i = bisect_left(L, x)
>>> i
2
>>> all(val < x for val in L[:i])
True
>>> all(val >= x for val in L[i:])
True
Which criteria are not met?
--
Jack Aidley added the comment:
This is still an issue in the latest version of the documentation.
It states "The returned insertion point i partitions the array a into two
halves so that all(val < x for val in a[lo:i]) for the left side and all(val >=
x for val in a[i:hi]) for the right side."