10.1 Цикл по символам строки
В Python строки часто рассматриваются как массивы/списки символов, что делает их особенно удобными для манипуляций, аналогичных работе с массивами в других языках программирования.
Ну, а раз строка – это набор символов, то по ним можно пройтись циклом.
Цикл по символам строки
Для итерации по каждому символу строки можно использовать простой
цикл for
. Это позволяет выполнять операции с каждым символом отдельно:
|
|
Важно!
В 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]
Давайте выведем на экран все символы строки, но обратимся к ним по их индексам:
|
|
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
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ