Статья Автор: Александр Ф. Алейников

6.2.2 Оператор in

Оператор in

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

Приведённый ниже код:

s = 'https://pygen.ru/'
if 'a' in s:
    print('Введенная строка содержит символ а')
else:
    print('Введенная строка не содержит символ а')

проверяет, содержится ли в переменной s символ 'a', и выводит:

Введенная строка не содержит символ а

Использование вместе с логическими операторами

Мы можем использовать оператор in вместе с логическим оператором not, например:

s = input()
if '.' not in s:
    print('Введенная строка не содержит символа точки')

С помощью оператора in мы можем упростить следующий код, проверяющий, что значение переменной s равно одному из пяти символов 'a', 'e', 'i', 'o', 'u':

if s == 'a' or s == 'e' or s == 'i' or s == 'o' or s == 'u':
    print('YES')

до вида:

if len(s) == 1 and s in 'aeiou':
    print('YES')

С помощью оператора in мы можем проверять наличие сразу нескольких символов в строке.

Приведённый ниже код:

s = 'Sigma'
print('a' in s)
print('z' in s)

выводит:

True
False

Точное вхождение

Оператор in проверяет, содержится ли одна строка в другой строке как точная последовательность символов. В обеих строках символы должны находиться в том же порядке друг относительно друга и не должны быть разделены другими символами, чтобы выражение с оператором in вернуло значение True.

Приведённый ниже код:

print('ab' in 'abc')
print('ac' in 'abc')

выводит:

True
False

Во втором случае выводится False, потому что строка 'abc' не содержит последовательности символов 'ac' (символы 'a' и 'с' идут не подряд, они разделены символом 'b').

Чувствительность к регистру

Проверка с использованием оператора in чувствительна к регистру.

Приведённый ниже код:

s = 'Alpha'
print('p' in s)
print('P' in s)

выводит:

True
False

Примечания

Примечание. Если строка s1 содержится в строке s2, то говорят, что строка s1 является подстрокой для строки s2. Другими словами, оператор in определяет, является ли одна строка подстрокой для другой строки.

Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать