'Penny'
Извлекаем подстроки с помощью
оператора [ start : end : step ]
Из строки можно извлечь подстроку (часть строки) с помощью функции slice.
Вы определяете slice с помощью квадратных скобок, смещения начала подстроки
start и конца подстроки end, а также опционального размера шага step. Некоторые
из этих параметров могут быть исключены. В подстроку будут включены символы,
расположенные начиная с точки, на которую указывает смещение start, и закан-
чивая точкой, на которую указывает смещение end.
Оператор [:] извлекает всю последовательность от начала до конца.
Оператор [ start :] извлекает последовательность с точки, на которую указыва-
ет смещение start, до конца.
Строки
63
Оператор [: end] извлекает последовательность от начала до точки, на которую
указывает смещение end минус 1.
Оператор [ start : end] извлекает последовательность с точки, на которую
указывает смещение start, до точки, на которую указывает смещение end
минус 1.
Оператор [ start : end : step] извлекает последовательность с точки, на которую
указывает смещение start, до точки, на которую указывает смещение end минус 1,
опуская символы, чье смещение внутри подстроки кратно step.
Как и ранее, смещение слева направо определяется как 0, 1 и т. д., а справа на-
лево — как -1, -2 и т. д. Если вы не укажете смещение start, функция будет исполь-
зовать в качестве его значения 0 (начало строки). Если вы не укажете смещение
end, функция будет использовать конец строки.
Создадим строку, содержащую английские буквы в нижнем регистре:
>>> letters = 'abcdefghijklmnopqrstuvwxyz'
Использование простого двоеточия аналогично использованию последователь-
ности 0: (целая строка):
>>> letters[:]
'abcdefghijklmnopqrstuvwxyz'
Вот так можно получить все символы, начиная с 20-го и заканчивая послед-
ним:
>>> letters[20:]
'uvwxyz'
А теперь — начиная с 10-го и заканчивая последним:
>>> letters[10:]
'klmnopqrstuvwxyz'
А теперь получим символы с 12-го по 14-й (Python не включает символ, рас-
положенный под номером, который указан последним):
>>> letters[12:15]
'mno'
Последние три символа:
>>> letters[-3:]
'xyz'
В следующем примере мы начинаем со смещения 18 и идем до четвертого с кон-
ца символа. Обратите внимание на разницу с предыдущим примером, где старт
с позиции -3 получал символ х. В этом примере конец диапазона -3 означает, что