Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

Индексация и разделение строк в Python 3

5750
5 минут чтения
Средний рейтинг статьи: 4

Умение работать со строками очень важно в любом языке программирования. Сегодня мы расскажем про строки в Python: что это такое, как найти индекс в строке python, какие есть методы работы с индексами. 

Индексация И Разделение Строк В Python 3 (1)

Строки

Строки – это последовательности символьных данных, которые, как и любые другие типы данных в языке python на основе последовательностей, могут быть проиндексированы. Чтобы задать строку, надо заключить последовательность символов (буквы, цифры, пробелы, знаки препинания и т.д.) в одинарные, двойные или тройные кавычки. Индексирование символов начинается с нуля, и каждый символ в строке имеет собственный индекс. Индекс последнего символа на единицу меньше длины строки.

    

Если мы проверим тип переменной string, то получим: str.

VDS и VPS

Гибкие виртуальные серверы с почасовым
биллингом по всему миру: Россия, Азия и Европа.

Индексы

Числовые индексы могут быть положительными и отрицательными. Чтобы обратиться к символу по индексу, надо указать его в квадратных скобках []. Если ссылаться на конкретный индекс, то можно получить символ, которому он соответствует:

    

В нашей строке символ «o» имеет индекс 4.

Если мы попытаемся обратиться к символу по индексу, которого в строке нет, то получим ошибку:

    

Чтобы узнать максимальный индекс в строке можно отнять 1 от длины строки так как индексация начинается с 0:

    

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

    

Индекс -1 имеет последний символ строки.

Срезы строк

Можно выводить не только символ с конкретным индексом, но и диапазон символов в строке – подстроку. Для этого используется оператор нарезки, а фрагмент строки, который получается в итоге, называется срезом.

    

В данном примере 1 – индекс начала среза, а 6 – индекс окончания среза. В подстроку входят символы с 1 по 5 включительно.

В случае, если требуется получить подстроку с 0 символа, то индекс начала среза можно опустить:

    

Аналогично в случае, если мы хотим получить срез до конца строки, мы можем опустить индекс окончания среза.

При разделении строк в Python 3 на срезы также можно использовать индексы с отрицательными значениями. Отрицательные индексы начинаются с -1 и уменьшаются при отдалении от конца строки:

    

Если не указывать индексы начала и конца среза, то мы получим всю строку:

    

В случае с получением среза допускается указывать индексы, которые выходят за пределы строки:

    

При создании срезов также можно использовать еще один параметр – шаг. Шаг показывает, на сколько элементов требуется сдвинуться после получения символа. В примерах, рассмотренных выше, мы не указывали шаг, в таких случае используется значение по умолчанию, равное 1.

    

Мы получили каждый третий элемент: We love Python!

Мы можем использовать шаг без указания начала и конца среза – в таком случае подстрока будет составляться из каждого n-ого элемента по всей строке.

    

Значение шага также может быть отрицательным.

Методы

Существует несколько методов, которые позволяют вести подсчет строк и выводить индексы строки python. Один из таких методов был рассмотрен выше: len(string) – длина строки.

Помимо длины строки мы можем также подсчитать количество вхождения какого либо символа или подстроки с помощью метода count():

    

Следующий метод позволяет определить индекс символа или подстроки в исходной строке:

    

Первый символ «e» появляется на позиции с индексом 1. В случае если такой элемент не найден, метод вернет -1. Если мы находим индекс подстроки, мы получаем индекс ее первого символа:

    

Если нам нужно найти подстроку с определенного индекса, мы можем указать диапазон символов, в котором следует искать:

    

В случае необходимости получить максимальный индекс элемента в строке мы можем воспользоваться методом rfind(). Он работает аналогично find(), с той разницей, что find() находит минимальный индекс элемента (первое вхождение элемента в строку).

Для поиска подстроки можно воспользоваться методами index() и rindex(). Они работают аналогично find() и rfind(), однако в случае если подстрока не найдена возвращают ошибку:

    

Подготовили для вас выгодные тарифы на облачные серверы

Cloud MSK 15

477 ₽/мес

Процессор
1 x 3.3 ГГц
Память
1 ГБ
NVMe
15 ГБ
Канал
1 Гбит/с
Публичный IP
Cloud MSK 30

657 ₽/мес

Процессор
1 x 3.3 ГГц
Память
2 ГБ
NVMe
30 ГБ
Канал
1 Гбит/с
Публичный IP

Заключение

В этот раз мы рассмотрели особенности типов данных строки, индексацию и срез строк в Python 3. Эти базовые знания пригодятся при выполнении самых разных задач с одним из самых популярных языков программирования. Дополнительную информацию вы можете найти в документации, а также в статьях о Python в блоге timeweb.cloud.

5750
5 минут чтения
Средний рейтинг статьи: 4

Читайте также

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server