w3resource

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:

Flowchart: Find the first occurrence of a given number in a sorted list using Binary Search.

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.

Go to:


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).

Python Code Editor:

Contribute your code and comments through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.