thiagowfx's avatar

Β¬ just serendipity πŸ€ (not just serendipity)

bisect: list of tuple

β€’ 64 words β€’ 1 min

python
a = [(1, 3), (1, 4), (2, 5), (3, 6), (3, 7), (5, 8)]
b = [1, 1, 2, 3, 3, 5]
c = [x for (x, _) in a]
assert b == c

import bisect
assert bisect.bisect_right(b, 1) == 2
assert bisect.bisect_right(b, 3) == 5
assert bisect.bisect_right(b, 6) == len(b)

## use:
## i = bisect.bisect_right(b, 3)
## return a[i - 1][1]