Строка Python поддерживает срезы для создания подстроки. Обратите внимание, что строка Python является неизменяемой, срезание создает новую подстроку из исходной строки, и исходная строка остается неизменной.
Срез строки Python
Синтаксис среза строки Python следующий:
str_object[start_pos:end_pos:step]
Срез начинается с индекса start_pos (включительно) и заканчивается индексом end_pos (исключительно). Параметр step используется для указания шагов от начального до конечного индекса. Срез строки Python всегда следует этому правилу: s[:i] + s[i:] == s для любого индекса ‘i’. Все эти параметры являются необязательными – значение по умолчанию для start_pos равно 0, значение по умолчанию для end_pos равно длине строки, а значение по умолчанию для step равно 1. Давайте рассмотрим несколько простых примеров использования функции среза строки для создания подстроки.
s = 'HelloWorld'
print(s[:])
print(s[::])
Вывод:
HelloWorld
HelloWorld
Обратите внимание, что поскольку не были предоставлены никакие параметры среза, подстрока равна исходной строке. Давайте рассмотрим еще несколько примеров срезания строки.
s = 'HelloWorld'
first_five_chars = s[:5]
print(first_five_chars)
third_to_fifth_chars = s[2:5]
print(third_to_fifth_chars)
Вывод:
Hello
llo
Обратите внимание, что значение индекса начинается с 0, поэтому start_pos 2 относится к третьему символу в строке.
Обратный срез строки
Мы можем перевернуть строку, используя срез, предоставив значение шага -1.
s = 'HelloWorld'
reverse_str = s[::-1]
print(reverse_str)
dlroWolleH
Давайте рассмотрим еще несколько примеров использования шагов и отрицательных индексов.
s1 = s[2:8:2]
print(s1)
loo
Здесь подстрока содержит символы с индексами 2, 4 и 6.
s1 = s[8:1:-1]
print(s1)
lroWoll
Здесь значения индексов берутся с конца. Подстрока состоит из индексов с 1 по 7 с конца до начала.
s1 = s[8:1:-2]
print(s1)
lool
Срез Python также работает с отрицательными индексами, в этом случае начальная позиция исключается, а конечная включается в подстроку.
s1 = s[-4:-2]
print(s1)
or
Срез строки в Python грациозно обрабатывает индексы, выходящие за пределы диапазона.
>>>s = 'Python'
>>>s[100:]
''
>>>s[2:50]
'thon'
Вот и все для функции среза строки в Python для создания подстроки.
Вы можете проверить полный скрипт Python и больше примеров на Python нашего репозитория GitHub.
Source:
https://www.digitalocean.com/community/tutorials/python-slice-string