Глава 8 · Играем с буквами и словами
Доступ к символам строки
Каждый символ строки можно достать по номеру — а срезы позволяют достать сразу целый кусок.
Доступ к символам строки
Строка — это последовательность символов, и к каждому символу можно обратиться по его индексу (порядковому номеру) в квадратных скобках. Индексация в Python начинается с нуля:
indeksy.py
word = "Python"
print(word[0]) # P — первый символ
print(word[1]) # y — второй символ
print(word[5]) # n — шестой (и последний) символ
Отрицательные индексы
Отрицательные индексы отсчитываются с конца строки — -1
означает «последний символ»:
otricatelnye_indeksy.py
word = "Python"
print(word[-1]) # n — последний символ
print(word[-2]) # o — предпоследний
IndexError — индекс за пределами строки
word[10] для шестибуквенного слова вызовет IndexError: string index out of range. Индексы существуют только от 0 до len(word) - 1 (и от -1 до -len(word) с конца).Получение среза строки
Срез (slice) возвращает часть строки — от одного индекса до другого (не включая последний):
srezy.py
word = "Python"
print(word[0:3]) # Pyt — символы с индексами 0, 1, 2
print(word[2:]) # thon — от индекса 2 и до конца
print(word[:3]) # Pyt — от начала до индекса 3 (не включая)
print(word[::-1]) # nohtyP — весь текст задом наперёд!
Разворот строки одним срезом
строка[::-1] — самый короткий способ развернуть строку задом наперёд. Третий параметр среза — «шаг»; шаг -1 проходит строку в обратном порядке. Мы воспользуемся этим в мини-проекте 8.9.Практика в Jupyter Notebook
08-03-indeksy-srezy.ipynb · индексы, отрицательные индексы и срезы