In this shot, we’ll learn about the bisect_right()
method in Python
.
We may want to insert an element in a sorted list, but we still want to maintain the sort order after insertion. If we do this operation over a long list, this will become a costly operation. We can use the bisect
module in this situation, which ensures that the list is put in sorted order automatically.
import bisect
bisect.bisect_right(list, element)
list
: Contains a list of sorted integers.element
: Provides an element that needs to be inserted into the sorted list.The bisect_right()
method is provided by the bisect
module, which returns the right-most index to insert the given element while maintaining the sorted order.
Let’s look at an example below to understand this better:
#import the moduleimport bisect#given sorted list of numbersnums = [1,3,5,7,10,25,49,55]#given element to be inserted into the listele = 25#get index where to insert the elementidx = bisect.bisect_right(nums, ele)#print the indexprint(f"Insert element {ele} at index {idx} in nums list to maintain sorted order.")
In the code snippet above:
bisect
module, which contains methods like bisect_right
, bisect_left
, and so on.nums
in sorted order.ele
to be inserted in the list nums
.list
and element
as parameters to the bisect_right()
method, which returns an index.The output tells us to insert the element at index 6
because an element 25
is already present in the list. Since we use the bisect_right()
method, it suggests inserting the element at the rightmost position.