Слайсинг и跨步 (Striding)
Базовый слайсинг в NumPy расширяет концепцию слайсинга Python до N измерений. Это позволяет вам выбирать диапазон элементов вдоль каждого измерения массива.
Базовый слайсинг
Базовый слайсинг происходит, когда obj
является объектом среза (создается с использованием записи start:stop:step
внутри квадратных скобок), целым числом или кортежем из объектов срезов и целых чисел.
x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
print(x[1:7:2]) ## Вывод: [1, 3, 5]
Отрицательные индексы
Отрицательные индексы можно использовать для индексирования с конца массива. Например, -1
ссылается на последний элемент, -2
на предпоследний элемент и так далее.
x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
print(x[-2:10]) ## Вывод: [8, 9]
print(x[-3:3:-1]) ## Вывод: [7, 6, 5, 4]
По умолчанию значения для слайсинга
Если начальный индекс не указан, по умолчанию он равен 0 для положительных значений шага и -n-1
для отрицательных значений шага. Если конечный индекс не указан, по умолчанию он равен n
для положительных значений шага и -n-1
для отрицательных значений шага. Если шаг не указан, по умолчанию он равен 1.
x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
print(x[5:]) ## Вывод: [5, 6, 7, 8, 9]