#### Previous topic

numpy.where

#### Next topic

numpy.extract

# numpy.searchsorted

`numpy.``searchsorted`(a, v, side='left', sorter=None)

  Find indices where elements should be inserted to maintain order.

  Find the indices into a sorted array a such that, if the corresponding elements in v were inserted before the indices, the order of a would be preserved.

  Parameters: | a : 1-D array_like Input array. If sorter is None, then it must be sorted in ascending order, otherwise sorter must be an array of indices that sort it. v : array_like Values to insert into a. side : {‘left’, ‘right’}, optional If ‘left’, the index of the first suitable location found is given. If ‘right’, return the last such index. If there is no suitable index, return either 0 or N (where N is the length of a). sorter : 1-D array_like, optional New in version 1.7.0. Optional array of integer indices that sort array a into ascending order. They are typically the result of argsort.
  Returns: | indices : array of ints Array of insertion points with the same shape as v.

  See also

  `sort`
    Return a sorted copy of an array.
  `histogram`
    Produce histogram from 1-D data.

  Notes

  Binary search is used to find the required insertion points.

  As of Numpy 1.4.0 `searchsorted` works with real/complex arrays containing `nan` values. The enhanced sort order is documented in `sort`.

  Examples

      >>> np.searchsorted([1,2,3,4,5], 3)
      2
      >>> np.searchsorted([1,2,3,4,5], 3, side='right')
      3
      >>> np.searchsorted([1,2,3,4,5], [-10, 10, 2, 3])
      array([0, 5, 1, 2])