РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
263 of 541 menu

Функция searchsorted

Функция searchsorted находит позицию (индекс) в отсортированном одномерном массиве, куда можно вставить заданное значение, не нарушая порядка сортировки. Первым аргументом передаётся отсортированный массив, вторым - значение или список значений для поиска позиций. По умолчанию поиск выполняется слева, что означает, что при равенстве элементов будет возвращён индекс первого подходящего места.

Синтаксис

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

Параметры:

  • a - одномерный отсортированный массив.
  • v - значение или массив значений для поиска.
  • side - строка, определяющая, с какой стороны искать: 'left' или 'right'.
  • sorter - массив индексов, задающий порядок сортировки массива a.

Пример

Найдём позицию для вставки числа 3 в отсортированный массив:

import numpy as np arr = np.array([1, 2, 4, 5]) pos = np.searchsorted(arr, 3) print(pos)

Результат выполнения кода:

2

Пример

Поиск позиций для нескольких значений одновременно:

import numpy as np arr = np.array([10, 20, 30, 40, 50]) res = np.searchsorted(arr, [25, 35, 45]) print(res)

Результат выполнения кода:

[2 3 4]

Пример

Использование параметра side='right' для поиска позиции вставки справа:

import numpy as np arr = np.array([1, 2, 2, 3]) pos_left = np.searchsorted(arr, 2, side='left') pos_right = np.searchsorted(arr, 2, side='right') print(pos_left, pos_right)

Результат выполнения кода:

1 3

Пример

Поиск позиций в массиве, отсортированном не по порядку, используя параметр sorter:

import numpy as np arr = np.array([4, 2, 1, 3]) sorter = np.argsort(arr) res = np.searchsorted(arr, 2.5, sorter=sorter) print(res)

Результат выполнения кода:

2

Смотрите также

  • функцию sort,
    которая сортирует элементы массива
  • функцию argsort,
    которая возвращает индексы для сортировки
  • функцию partition,
    которая частично сортирует массив
  • функцию unique,
    которая возвращает уникальные элементы массива
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить