# Проверка наличия значения элемента x in sequences # Проверка отсутствия значения элемента x not in sequences
sequence
- последовательность. Могут быть list
, str
, tuple
, set
и т. д.x
- произвольный объект, удовлетворяющий любым ограничениям типа и значения, наложенным на последовательности sequences
.Операция x in sequences
позволяет проверить, существует ли значение определенного элемента (символа/буквы) в последовательности или части строки (подстроки) в строке.
x in sequences
вернет True
если хотя-бы один из элементов последовательности sequence
равен x
, иначе False
x not in sequences
вернет False
если хотя-бы один из элементов последовательности sequence
равен x
, иначе True
Оператор in
и отрицание not in
используются для простого тестирования вхождения/принадлежности элемента x
в последовательность sequence
, НО некоторые специализированные последовательности, такие как str
, bytes
и bytearray
используют их для проверки вхождения подстроки или символа x
в строку sequence
.
Эта операция поддерживаются большинством типов последовательностей, как изменяемых, так и неизменяемых.
# Принадлежность элемента к последовательности >>> x = 3 >>> y = 10 >>> s = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> x in s True >>> y in s False >>> x not in s False >>> y not in s True # Проверка вхождения подстроки в строку >>> x = 'мир' >>> y = 'апрель' >>> s = 'мир труд май' >>> x in s True >>> y in s False >>> x not in s False >>> y not in s True
Операции проверки членства/принадлежности/вхождения удобно использовать в инструкциях if...else
при проверке вхождения подстроки/символа в строку или проверки наличия элемента в последовательности, ключа в словаре.
В случае поиска подстрок оператор in
напоминает метод str.find()
, с тем отличием, что он возвращает логический результат, а не позицию подстроки в строке. Применительно к словарям оператор in
позволяет определить наличие ключа, а в случаях с кортежами, списками и множествами наличие того или иного элемента в последовательности.
x = 'кукарача' if 'а' in x: ... x = 'мир труд май' if 'труд' in x: ... x = [ 2, 4, 6, 8] if 5 not in x: ...