w3resource

Python Bisect: Find the index position of the largest value smaller than a given number in a sorted list using Binary Search


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

Sample Solution:

Python Code:

from bisect import bisect_left  
def Binary_Search(l, x): 
    i = bisect_left(l, x) 
    if i: 
        return (i-1) 
    else: 
        return -1  
nums = [1, 2, 3, 4, 8, 8, 10, 12] 
x = 5 
num_position  = Binary_Search(nums, x) 
if num_position  == -1: 
    print("Not found..!") 
else: 
    print("Largest value smaller than ", x, " is at index ", num_position )

Sample Output:

Largest value smaller than  5  is at index  3

Flowchart:

Flowchart: Find the index position of the largest value smaller than a given number in a sorted list using Binary Search.

Python Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a Python program to find the first occurrence of a given number in a sorted list using Binary Search (bisect).

Next: Write a Python program to find the index position of the last occurrence of 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.



Follow us on Facebook and Twitter for latest update.