Как использовать индексацию строк в Python?
Индексация строк в Python
Строки представляют собой упорядоченные последовательности символов данных. Индексация позволяет обращаться к отдельным символам строки напрямую с использованием числового значения. Индексация строк начинается с нуля: первый символ строки имеет индекс 0, следующий - 1, и так далее. В этом уроке вы узнаете синтаксис индексации строк и попрактикуетесь на нескольких примерах:
Python:
Вот некоторые примеры использования отрицательной индексации:
Python:
Если в строке отсутствуют символы, индексация вызовет ошибку. Например, если строка пуста:
Python:
Операция индексации используется для получения доступа к отдельным элементам в упорядоченном наборе данных, используя числовой индекс или ключевое значение. В случае со строками, индексация позволяет получить доступ к отдельным символам строки с использованием числового индекса. В Python индексация строк начинается с нуля, поэтому первый символ имеет индекс 0, а следующий - 1 и так далее. Индекс последнего символа будет равен длине строки минус один.
Давайте рассмотрим пример. Для строки ‘mybacon’ первый символ будет иметь индекс 0, второй - 1 и так далее. Последний индекс, несмотря на то, что в строке семь символов, будет равен числу 6 для символа ‘n’. Попробуем это интерактивно:
Python:
На этом примере мы видим, как получить доступ к первому элементу строки, используя квадратные скобки и индекс 0. Таким образом, s[0] возвращает ‘m’. Аналогично, s[1] вернет второй символ, s[5] - предпоследний символ, а последний символ будет иметь индекс 6. Несмотря на то, что это седьмой символ, индекс все же будет 6.
Другой способ получить доступ к последнему символу - использовать встроенную функцию len()
. Выражение s[len(s)-1]
также даст вам последний символ. Если же вы попытаетесь обратиться к индексу, выходящему за пределы длины строки, например 7, возникнет ошибка “IndexError: string index out of range”. То же самое произойдет, если вы используете только функцию len(s)
по отдельности, результат останется тем же - индекс находится за пределами диапазона.
Отрицательные значения индексов для строк тоже допустимы. В случае отрицательного индекса подразумевается отсчет с конца строки. Например, -1
будет соответствовать символу 'n'
в конце строки, а -7
- первой букве. Вы можете попробовать это самостоятельно, используя строку s = 'mybacon'
. Таким образом, s[-1]
вернет последний символ, а -4
- четвертый символ.
Что произойдет, если вы укажете слишком большое или слишком маленькое отрицательное значение индекса? В обоих случаях будет ошибка “IndexError: string index out of range”. Примером является ситуация, когда у вас есть пустая строка t = ''
. При попытке обратиться к первому индексу вы получите ошибку, потому что это значение находится за пределами допустимого диапазона. Для таких случаев важно помнить, что для доступа к последнему элементу необходимо указать длину строки минус один.
Индексы строк можно также указывать с использованием отрицательных чисел. Отрицательный индекс указывает на то, что отсчет следует идти в обратном порядке. Например, -1
будет соответствовать символу 'n'
, находящемуся в конце строки. Символ 'm'
будет соответствовать индексу -7
. Попробуйте самостоятельно. Работаем со строкой s = 'mybacon'
. Если взять s[-1]
в квадратные скобки, то получим последний символ. Для -4
будем получать соответствующий символ. Также можно использовать функцию len(s)
, чтобы узнать количество символов в строке. Если указать s[-len(s)]
, то получим первую букву, такая же, как если бы мы указали -7
.
Что произойдет, если вы вызовете индекс, которого не существует (например, слишком большой или отрицательный индекс)? Возникнет ошибка “IndexError: string index out of range”. То же самое произойдет, если вы вызовете количество символов в пустой строке, например t = ''
, и попытаетесь обратиться к первому индексу. В этом случае также возникнет ошибка, поскольку строки не имеют длины.
Однако, помимо доступа к отдельным символам строки, с использованием индексов можно получать и диапазоны символов. Это называется «срез строк» (string slicing), и об этом будет рассказано далее.
Присоединяйтесь к обсуждению, становясь участником сообщества.