Python. Срезы строк

11.2.2.2 использование срезов для обработки строк

Python. Срезы

Срезы строк

Срезы очень интересный инструмент Python для обработки упорядоченных структур данных, таких как строки, списки, кортежи.

Срезы имеют свой собственный синтакс, напоминающий диапазон значений функции range().
Срез имеет три параметра, начальный индекс START, конечный индекс STOP (не включая элемент STOP), и шаг увеличения или уменьшения индекса STEP:

string[START:STOP:STEP]

Несколько примеров с разными параметрами:

[:]/[::] # все элементы,
[::2] # нечетные элементы последовательности,
[1::2] # четные элементы последовательности,
[::-1] # обратный порядок всех элементов последовательности,
[5:] # все элементы, начиная с шестого символа,
[:5] # все элементы до шестого символа (не включая шестой символ),
[-2:1:-1] # все элементы от предпоследнего до второго в обратном порядке (во всех случаях выборки от большего индекса к меньшему необходимо указывать отрицательный шаг!)

Примеры использования срезов:

s = "programming"
slice = s[:] # создание копии строки
print(slice) # вывод "programming"
slice = s[:5] 
print(slice) # вывод "progr"
slice = s[5:]
print(slice) # вывод "amming"
slice = s[::2]
print(slice) # output "pormig"
slice = s[1::2]
print(slice) # вывод "rgamn"
slice = s[::-1]
print(slice) # вывод "gnimmargorp"
slice = s[2:9:3]
print(slice) # вывод "oai"
slice = s[10:0:-4]
print(slice) # вывод "gmo"
slice = s[8:15]
print(slice) # вывод "ing"
slice = s[12::]
print(slice) # вывод пустой строки
slice = s[:-5] 
print(slice) # вывод "progra"
slice = s[-8:-4]
print(slice) # вывод "gram"

Срезы могут быть использованы в качестве значений для итератора.

s = "programming"
for item in s[::2]: # перебор все символов строки s с четными индексами
 print(item, end=" ") 
# вывод "p o r m i g" 

Вопросы:

Упражнения:

Упр. 1 "Определите значение среза"

Категория: Programming languages | Добавил: bzfar77 (14.05.2022)
Просмотров: 4162 | Теги: диапазон, Python, срез, Slice | Рейтинг: 5.0/1
Всего комментариев: 0
avatar