Сообщить об ошибке.

Индексирование строк в Python

Строки могут быть индексированы, причем первый символ имеет индекс 0. В Python не существует отдельного типа "символ" (char), символ - это просто строка размером один символ:

>>> word = 'Python'
>>> word[0]
# 'P'

# символ в позиции 5
>>> word[5]
# 'n'

Индексы могут быть отрицательными числами, в этом случае отсчет символов в строке начинается справа, при чем первый символ справа будет будет иметь индекс -1:

>>> word = 'Python'
# последний символ
>>> word[-1]
# 'n'

# предпоследний символ
>>> word[-2]
# 'o'
>>> word[-6]
# 'P'

Обратите внимание, что, поскольку -0 совпадает с 0, отрицательные индексы начинаются с -1.

Строки Python не могут быть изменены - они принадлежат к неизменяемым типам данных Python. Следовательно, присвоение элемента по индексу позиции в строке приводит к ошибке:

>>> word = 'Python'
>>> word[0] = 'J'
# Traceback (most recent call last):
#   File "<stdin>", line 1, in <module>
# TypeError: 'str' object does not support item assignment

>>> word[2:] = 'py'
# Traceback (most recent call last):
#   File "<stdin>", line 1, in <module>
# TypeError: 'str' object does not support item assignment