Срез a[1:-1] в NumPy (и Python) выбирает элементы массива от индекса 1 до предпоследнего, не включая последний элемент.
Разберём синтаксис:
a[start:stop:step]start = 1— начинаем с элемента с индексом 1 (второй элемент)stop = -1— заканчиваем перед элементом с индексом -1 (последний элемент)stepпо умолчанию 1
Пример:
import numpy as np
a = np.array([10, 20, 30, 40, 50])
b = a[1:-1]
print(b) # [20 30 40]Объяснение:
a[1]→ 20a[2]→ 30a[3]→ 40a[-1]→ 50, но не включается
Особенности:
- Поддерживается для многомерных массивов, по каждой оси можно использовать срезы
- Срезы обычно возвращают view, а не копию, т.е. изменение
bможет изменитьa
Коротко: a[1:-1] = «взять все элементы массива, кроме первого и последнего».