Вступление
Термин нарезка в программировании обычно относится к получению подстроки, подкортежа или подсписка из строки, кортежа или списка соответственно.
Python предлагает множество простых способов разрезать не только эти три, но и любые итерируемые . Итерируемым является, как следует из названия, любой объект, который можно повторять.
В этой статье мы рассмотрим все, что вам нужно знать о нарезке строк в 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.
Перевернуть строку с помощью нотации среза
Чтобы перевернуть строку, мы можем установить step
нотации среза
равным -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-го символа сводится к установке параметра шага на
n
. Если вам нужен каждый второй символ, вы также должны перешагнуть
через каждый второй символ:
n = 3
string = 'There’s always a bigger fish.'
print(string[::n])
Этот код распечатает каждую третью букву:
Trslyaiefh
Заключение
Нарезать любую последовательность в Python легко, просто и интуитивно понятно. Отрицательная индексация предлагает простой способ получить первые или последние несколько элементов последовательности или изменить ее порядок.
В этой статье мы рассмотрели, как применить нотацию среза к строкам в Python.