Python slice() — это встроенная функция, которая создает объект среза, представляющий набор индексов, заданных диапазоном (start: stop: step). Объект среза используется для определения того, как нарезать последовательность.
Нарезка объекта в Python означает нарезку заданных последовательностей, таких как строка, байты, кортеж, список, диапазон или любой объект, который поддерживает протокол последовательности (реализует методы __getitem__() и __len__()).
Вы можете указать, где начать нарезку и где закончить. Вы также можете определить шаг, который позволяет вам, например, нарезать только все остальные элементы.
Синтаксис
Синтаксис функции Python slice() следующий.
|
1 2 |
slice(stop) slice(start, stop, step) |
Параметры
- Параметр start является необязательным, и это начальное целое число, с которого начинается нарезка объекта.
- Требуется параметр stop, целое число, указывающее, в какой позиции следует закончить нарезку.
- Параметр step является необязательным и представляет собой целочисленное значение, определяющее приращение между каждым индексом для среза.
Пример 1
|
1 2 3 4 |
A =('Bad Bunny', 'Louis Fonsi', 'Daddy Yankee', 'Drake') result = slice(1,3) print(A[result]) |
Выход

См. в приведенном выше примере мы нарезали объект A от индекса 1 до 3 и получили такие элементы, как Louis Fonsi и Daddy Yankee.
Пример 2
|
1 2 3 4 |
A = 'AppDividend' result = slice(3) print(A[result]) |
Выход

Срез строки с использованием отрицательного индекса
В следующем примере мы разделим строку на основе отрицательного индекса.
|
1 2 3 4 |
A = 'AppDividend' result = slice(-3, -1) print(A[result]) |
В приведенном ниже примере мы передали отрицательный индекс, что означает, что выполнение начинается с конца, а затем продолжается и возвращает значение.
Выход

Срез массива в Python
Чтобы нарезать массив в Python, возьмите элементы из одного заданного индекса в другой. Вы можете передать срез вместо индекса следующим образом: [начало: конец]. Вы также можете определить шаг как [start: stop: step].
Если вы не передаете начальный параметр, он считается равным 0. Если вы не передаете конечный аргумент, он считается размером массива в этом измерении. Если вы не передаете параметр шага, он считается равным 1.
|
1 2 3 4 5 |
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) print(arr[2:7]) |
Выход
|
1 |
[3 4 5 6 7] |
В этом примере мы нарезаем массив от индекса 2 до 7. Здесь следует помнить одну вещь: значение второго индекса не включается в окончательный вывод, но последний индекс, равный 7, будет включен в вывод. Это означает, что начальный индекс не будет включен, но будет включен конечный индекс.
