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

    Команда Simple-Server
    03.06.2026
    5 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Кратко о задаче

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

    string = 'We love Python!'

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

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

    print('4-й символ: ', string[4]) 4-й символ: o

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

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

    print('15-й символ: ', string[15]) IndexError: string index out of range

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

    print('Максимальный индекс в строке: ',len(string) - 1) Максимальный индекс в строке: 14

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

    print('-1-й символ в строке: ', string[-1]) -1-й символ: !

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

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

    print('Символы с 1 по 6: ', string[1:6]) Символы с 1 по 6:  e lov

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

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

    print('Символы с 0 по 6: ', string[:6]) Символы с 0 по 6:  We lov

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

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

    print('Символы с -1 по -7: ', string[-7:-1]) Символы с -1 по -7:  Python

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

    print('Строка: ', string[:]) Строка:  We love Python!

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

    print('Символы с 6 по 100: ', string[6:100]) Символы с 6 по 100:  e Python!

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

    print('Подстрока с шагом 3: ', string[0:10:3]) Подстрока с шагом 3:  Wley

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

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

    print('Подстрока с шагом 3: ', string[::3]) Подстрока с шагом 3:  Wleyo

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

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

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

    print('Количество вхождений символа e:', string.count('e')) Количество вхождений символа e: 2

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

    print('Индекс символа e:', string.find('e')) Индекс символа e: 1

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

    print('Индекс подстроки love:', string.find('love')) Индекс подстроки love: 3

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

    print('Индекс символа e:', string.find('e', 4,9)) Индекс символа e: 6

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

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

    ValueError: substring not found

    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны