Автор оригинала: 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.