Рубрики
Без рубрики

Python: Нотация среза на строке

В этом уроке мы рассмотрим примеры того, как разрезать строку в Python. Мы также найдем префикс и суффикс, перевернем строку и найдем каждый n-й символ в строке.

Автор оригинала: Kristina Popovic.

Вступление

Термин нарезка в программировании обычно относится к получению подстроки, подкорпуса или подсписка из строки, кортежа или списка соответственно.

Python предлагает множество простых способов нарезать не только эти три, но и любые итерационные . iterable – это, как следует из названия, любой объект, который может быть повторен.

В этой статье мы рассмотрим все, что вам нужно знать о Нарезке строк в Python .

Нарезка строки в Python

Существует несколько способов разрезать строку, наиболее распространенным из которых является использование оператора : со следующим синтаксисом:

string[start:end]
string[start:end:step]

Параметр start представляет начальный индекс, end – конечный индекс, а step – количество элементов, которые “перешагнуты”.

Давайте пойдем дальше и нарежем веревочку:

string = 'No. I am your father.'
print(string[4:20])

При этом будут опущены первые четыре символа в строке:

I am your father

Нахождение префикса и суффикса длины n с нотацией среза

Чтобы найти префикс или суффикс длины n строки, мы будем использовать тот же подход, который можно использовать для поиска хвоста или головы списка. Мы будем нарезать от начала до n и от -n до конца строки.

В этом случае -n начнет отсчет с конца строки в обратном направлении, давая нам суффикс:

n = 4
string = 'Now, young Skywalker, you will die.'

# Prefix of length n
print(string[:n])
# Sufix of length n
print(string[-n:])

Это приводит к:

Now,
die.

Переверните строку с помощью нотации среза

Чтобы перевернуть строку, мы можем установить шаг нотации среза в -1 . Это заставляет шаг идти назад, включая каждый элемент, на который он ступает, в результате чего строка печатается обратно в обратном порядке:

string = 'I'll never turn to the dark side. You've failed, your highness. I am a Jedi, like my father before me.'
print(string[::-1])

Этот код приведет к:

.em erofeb rehtaf ym ekil ,ideJ a ma I .ssenhgih ruoy ,deliaf ev'uoY .edis krad eht ot nrut reven ll'I

Нахождение каждого n-го символа в строке

Извлечение каждого n-го символа сводится к установке параметра step в n . Если вам нужен каждый второй персонаж, вы также перешагнете через каждый второй персонаж:

n = 3
string = 'There's always a bigger fish.'
print(string[::n])

Этот код будет распечатывать каждую третью букву:

Trslyaiefh

Вывод

Нарезка любой последовательности в Python проста, проста и интуитивно понятна. Отрицательная индексация предлагает простой способ получить первые или последние несколько элементов последовательности или изменить ее порядок.

В этой статье мы рассмотрели, как применить нотацию среза к строкам в Python.