Срезы строк
В языке Python можно выделять часть строки (
подстроку). Для этого используется операция получения среза (от англ.
slicing)
Общий вид операции получения среза следующий
s[start:stop:step]
Данная команда берет срез из строки
s
, начиная с символа с индексом
start
до символа с индексом
stop
(не включая его) с шагом
step
(если не указан, то шаг равен 1)
Любая часть в скобках может отсутствовать.
Например,
s1 = s[3:8]
означает, что в строку s1 из строки s копируются символы с 3 по 7 с шагом 1.
Можно брать отрицательные индексы, тогда отсчет ведется с конца строки.
s = "0123456789"
s1 = s[-7:-2] # s1="34567"
Если
start
не указан, считается, что он равен нулю (то есть берем с начала строки). Если не указан stop, то срез берется до конца строки.
s = "0123456789"
s1 = s[:4] # s1="0123"
s2 = s[-4:] # s2="6789"
Вот так легко можно сделать реверс строки:
s = "0123456789"
s1 = s[::-1] # s1="9876543210"
Все символы строки перебираются с шагом -1, это означает, что символы будут перебираться с конца. Задействована вся строка, потому что не указаны начальный и конечный индексы.