Python Bisect: Find the first occurrence of a given number in a sorted list using Binary Search
4. First Occurrence with Binary Search
Write a Python program to find the first occurrence of a given number in a sorted list using Binary Search (bisect).
Sample Solution:
Python Code:
from bisect import bisect_left
def Binary_Search(a, x):
i = bisect_left(a, x)
if i != len(a) and a[i] == x:
return i
else:
return -1
nums = [1, 2, 3, 4, 8, 8, 10, 12]
x = 8
num_position = Binary_Search(nums, x)
if num_position == -1:
print(x, "is not present.")
else:
print("First occurrence of", x, "is present at index", num_position)
Sample Output:
First occurrence of 8 is present at index 4
Flowchart:

For more Practice: Solve these Related Problems:
- Write a Python program to locate the first occurrence of a target number in a sorted list using bisect_left and then print the index.
- Write a Python script to modify a binary search function so that it returns the index of the first occurrence of a duplicate target in a sorted array.
- Write a Python program that uses bisect_left to find the leftmost index of a target value in a sorted list and then verifies the result by checking adjacent elements.
- Write a Python function to implement a binary search that returns the first occurrence index of a target and handles cases when the target is not present.
Python Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a Python program to insert items into a list in sorted order.
Next: Write a Python program to find the index position of the largest value smaller than a given number in a sorted list using Binary Search (bisect).What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.