updated from Atlas
This commit is contained in:
29
attic/sequences/bisect_find.py
Normal file
29
attic/sequences/bisect_find.py
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
"""
|
||||
>>> bisect_find([], 1)
|
||||
-1
|
||||
>>> import array
|
||||
>>> import random
|
||||
>>> SIZE = 10
|
||||
>>> my_array = array.array('l', range(0, SIZE, 2))
|
||||
>>> random.seed(42)
|
||||
>>> for i in range(SIZE):
|
||||
... print(i, bisect_find(my_array, i))
|
||||
0 0
|
||||
1 -1
|
||||
2 1
|
||||
3 -1
|
||||
4 2
|
||||
5 -1
|
||||
6 3
|
||||
7 -1
|
||||
8 4
|
||||
9 -1
|
||||
"""
|
||||
|
||||
from bisect import bisect
|
||||
|
||||
def bisect_find(seq, item):
|
||||
left_pos = bisect(seq, item) - 1
|
||||
return left_pos if seq and seq[left_pos] == item else -1
|
||||
|
||||
Reference in New Issue
Block a user