Bsearch
Binary search in python with more flexible comparisons.
Installation
pip install bsearch
Usage
bisect_left and bisect_right are backwards compatible with the bisect library. For example:
from bsearch import bisect_left
a = [1,2,3,4,5]
i = bisect_left(a, 4) # returns 3
You can use the key option to search arrays of different types
from bsearch import bisect_left
a = [(1,100), (2, 100), (5,200)]
# using the first element of the tuple as the key
i = bisect_left(a, 2, key=lambda x: x[0]) # returns 1
To search descending list, use the wrapper binary_search, and provide an operator. This will return the smallest i such that op(a[i], v)
from bsearch import binary_search
a = [5, 4, 3, 2]
i = binary_search(a, 4, op=lambda a b: a >= b) # returns 1
Release files for bsearch 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bsearch-0.0.4.tar.gz | 1.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bsearch-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.4 kB
Release files / bsearch-0.0.4.tar.gz
| Download URL | bsearch-0.0.4.tar.gz |
|---|---|
| Size | 1.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
335c7939079f124d9ba65ec282a71893fe494e87148448123174e31568ac693e
|
|
BLAKE2b-256 checksum How to use checksums |
8127c1969f2c3ef3a884390b7f9a8ba7e954f3d35ad10f625b077915250e1fce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3
|
Release files / bsearch-0.0.4-py3-none-any.whl
| Download URL | bsearch-0.0.4-py3-none-any.whl |
|---|---|
| Size | 2.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b81c25b5b547c97278f522bf09e4f0b4f5f55d1701335f2f6241d1d742ced19c
|
|
BLAKE2b-256 checksum How to use checksums |
e983dc034467160b6231a045dc5c79d324cdf6fc0771500ccd5e65553f13b7bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3
|