Срез Python ()

Функция slice () возвращает объект среза, который можно использовать для срезания строк, списков, кортежей и т. Д.

Объект среза используется для срезания заданной последовательности (строки, байтов, кортежа, списка или диапазона) или любого объекта, который поддерживает протокол последовательности (инструменты __getitem__()и __len__()метод).

Синтаксис slice():

 срез (начало, остановка, шаг)

slice () Параметры

slice() может принимать три параметра:

  • start (необязательно) - начальное целое число, с которого начинается разрезание объекта. По умолчанию, Noneесли не указано.
  • stop - Целое число, до которого выполняется нарезка. Нарезка останавливается на остановке индекса -1 (последний элемент) .
  • step (необязательно) - Целочисленное значение, определяющее приращение между каждым индексом для нарезки. По умолчанию, Noneесли не указано.

Пример 1. Создайте объект-срез для нарезки.

 # contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))

Вывод

 slice (Нет, 3, Нет) slice (1, 5, 2) 

Здесь result1и result2- объекты-срезы.

Теперь, когда мы знаем об объектах среза, давайте посмотрим, как мы можем получить подстроку, подсписок, подкортеж и т. Д. Из объектов среза.

Пример 2: получить подстроку с помощью объекта среза

 # Program to get a substring from the given string py_string = 'Python' # stop = 3 # contains 0, 1 and 2 indices slice_object = slice(3) print(py_string(slice_object)) # Pyt # start = 1, stop = 6, step = 2 # contains 1, 3 and 5 indices slice_object = slice(1, 6, 2) print(py_string(slice_object)) # yhn

Вывод

 Pyt yhn 

Пример 3: получить подстроку с использованием отрицательного индекса

 py_string = 'Python' # start = -1, stop = -4, step = -1 # contains indices -1, -2 and -3 slice_object = slice(-1, -4, -1) print(py_string(slice_object)) # noh

Вывод

 нет 

Пример 4: получить подсписок и подкортеж

 py_list = ('P', 'y', 't', 'h', 'o', 'n') py_tuple = ('P', 'y', 't', 'h', 'o', 'n') # contains indices 0, 1 and 2 slice_object = slice(3) print(py_list(slice_object)) # ('P', 'y', 't') # contains indices 1 and 3 slice_object = slice(1, 5, 2) print(py_tuple(slice_object)) # ('y', 'h') 

Вывод

 ('P', 'y', 't') ('y', 'h') 

Пример 5: получить подсписок и подкортеж с отрицательным индексом

 py_list = ('P', 'y', 't', 'h', 'o', 'n') py_tuple = ('P', 'y', 't', 'h', 'o', 'n') # contains indices -1, -2 and -3 slice_object = slice(-1, -4, -1) print(py_list(slice_object)) # ('n', 'o', 'h') # contains indices -1 and -3 slice_object = slice(-1, -5, -2) print(py_tuple(slice_object)) # ('n', 'h')

Вывод

 ('н', 'о', 'ч') ('п', 'ч') 

Пример 6: Использование синтаксиса индексации для нарезки

Объект среза можно заменить синтаксисом индексации в Python.

Вы также можете использовать следующий синтаксис для нарезки:

 obj (начало: стоп: шаг)

Например,

 py_string = 'Python' # contains indices 0, 1 and 2 print(py_string(0:3)) # Pyt # contains indices 1 and 3 print(py_string(1:5:2)) # yh

Вывод

 Pyt yh 

Интересные статьи...