Срез — это процесс получения части (подстроки) строки с использованием ее индексов.
Имея строку, мы можем использовать следующий шаблон, чтобы сделать срез ее и получить подстроку:
string[start:end]
где:
Символ в конце индекса в строке не будет включен в подстроку, полученную с помощью этого метода.
Давайте рассмотрим несколько примеров:
my_string = "This is MY string!"
print(my_string[0:4]) # Срез от начала строки до элемента с индексом 4
print(my_string[1:7])
print(my_string[8:len(my_string)]) # Срез от элемента с индексом 8 до конца строки
Python 3 также позволяет нам разбивать строку, определяя шаг, через который мы можем пропускать символы в строке. Шаг по умолчанию равен 1, поэтому мы перебираем строку по одному символу за раз.
Шаг определяется после конечного индекса:
string[start:end:step]
Давайте посмотрим, как это работает:
my_string = "This is MY string!"
print(my_string[0:7]) # Шаг в 1 символ
print(my_string[0:7:2]) # Шаг в 2 символа
print(my_string[0:7:5]) # Шаг в 5 символов
Строки также можно разрезать, чтобы получить перевернутую подстроку. В этом случае нам нужно будет поменять местами начальный и конечный индексы.
Также должен быть установлен отрицательный шаг:
my_string = "This is MY string!"
print(my_string[13:2:-1])
print(my_string[17:0:-2])
Следует отметить, что указывать начальный и конечный индексы необязательно.
Если начало не указано, подстрока будет содержать все символы до конечного индекса.
Если конечный индекс не указан, подстрока будет начинаться с начального индекса и идти до конца строки.
Давайте посмотрим на это в действии:
my_string = "This is MY string!"
print(my_string[:8]) # Все символы до буквы 'M'
print(my_string[8:]) # Все символы начиная с буквы 'M'
print(my_string[:]) # Вся строка целиком
print(my_string[::-1]) # Вся строка в реверсном режиме (шаг -1)
Это почти все, что нам нужно знать о срезах строк. Давайте немного попрактикуемся