from bisect import bisect_right
def binary_search(lst, n):
i = bisect_right(lst, n)
if i != len(lst) + 1 and lst[i - 1] == n:
return i - 1
else:
return -1
lst = [1, 2, 3, 3, 3, 4, 20, 40]
result = binary_search(lst, 3)
if result == -1:
print("Element not Found")
else:
print("Element found at index", result)
'''
run:
Element found at index 4
'''