Skip to main content

Bsearch

Build Status PyPI shield

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)

Source distribution for bsearch 0.0.4
File Size Uploaded
bsearch-0.0.4.tar.gz 1.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bsearch 0.0.4
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page