10.1 Цикл по символам строки

В Python строки часто рассматриваются как массивы/списки символов, что делает их особенно удобными для манипуляций, аналогичных работе с массивами в других языках программирования.

Ну, а раз строка – это набор символов, то по ним можно пройтись циклом.

Цикл по символам строки

Для итерации по каждому символу строки можно использовать простой цикл for. Это позволяет выполнять операции с каждым символом отдельно:


text = "Hello"
for char in text:
    print(char)

На экран будет выведено:
H
e
l
l
o
            

Важно! В Python нет типа char для отдельного символа. Один символ строки — это все равно строка.

10.2 Определение длинны строки

Что еще можно сделать со строкой? Ну конечно же определить ее длину – узнать сколько в ней символов. Для этого в Python есть специальная встроенная функция len(). Эта функция возвращает количество символов в строке:


text = "Hello, world!"
length = len(text)
print(length)  # Выведет: 13
        

10.3 Получение конкретного символа

Так же вы можете получить конкретный символ строки по его номеру. Вернее, по его индексу.

Важно! Индексы списков и массивов в Python начинаются с 0. Если в стоке 10 символов, то они будут иметь индексы: 0, 1, 2, ...9.

Общий вид получения символа по индексу выглядит так:


string[index]

Давайте выведем на экран все символы строки, но обратимся к ним по их индексам:


text = "Hello" 
for i in range(len(text)):
    print(text[i])
                            

На экран будет выведено:
H
e
l
l
o
            

10.4 Вхождение подстроки

Проверка вхождения одной строки в другую — одна из базовых задач, которую часто нужно решать при программировании на Python. Эта возможность широко используется во многих приложениях, включая обработку текстовых данных, валидацию ввода пользователя и поиск данных в строках.

Для этой задачи в Python есть несколько способов, как уникальные лично для него, так и распространённые в других языках программирования:

Оператор in:

Это самый простой и часто используемый метод для проверки наличия подстроки в строке. Он возвращает True, если подстрока присутствует в строке, и False в противном случае.


text = "Hello, world!"
print("world" in text)  # Выведет: True
        

Метод find():

Метод find() возвращает индекс первого вхождения подстроки в строку, если подстрока найдена, и -1, если подстрока отсутствует. Это позволяет не только проверить наличие подстроки, но и узнать её положение.


text = "Hello, world!"
position = text.find("world")
print(position)  # Выведет: 7
        

Метод index():

Похож на find(), но вместо возвращения -1 при отсутствии подстроки, метод index() генерирует исключение ValueError. Этот метод полезен, когда отсутствие подстроки является неожиданным и должно привести к ошибке.


text = "Hello, world!"
try:
    position = text.index("world")
    print(position)  # Выведет: 7
except ValueError:
    print("Substring not found.")
       

Метод count():

Метод count() подсчитывает, сколько раз подстрока встречается в строке. Это полезно, когда нужно знать не только факт вхождения, но и количество вхождений.


text = "Hello, world!"
cnt = text.count("l")
print(cnt)  # Выведет: 3
       
undefined
2
Задача
Модуль 1: Python Core, 6 уровень, 9 лекция
Недоступна
Поиск подстроки.
Поиск подстроки.
undefined
2
Задача
Модуль 1: Python Core, 6 уровень, 9 лекция
Недоступна
Символы в строке
Символы в строке