Пропустить до содержимого

Как использовать 'in' в Python?

CodeMDD.io

Операторы in и not in в Python: проверка на принадлежность

Python’s in и not in позволяют вам быстро определить, является ли заданное значение частью коллекции значений или нет. Этот тип проверки является распространенным в программировании и в Python он известен как тест на принадлежность. Поэтому эти операторы известны как операторы принадлежности.

В этом руководстве вы узнаете, как:

  • Выполнять тесты на принадлежность с использованием операторов in и not in
  • Использовать операторы in и not in с различными типами данных
  • Работать с функцией operator.contains(), эквивалентной оператору in
  • Обеспечивать поддержку операторов in и not in в собственных классах

Начало работы с тестами на принадлежность в Python

Иногда вам нужно узнать, присутствует ли значение в коллекции значений или нет. Другими словами, вам нужно проверить, является ли заданное значение членом или не является его членом коллекции значений. Этот тип проверки обычно известен как тест на принадлежность.

Рассмотрим следующую функцию is_member():

def is_member(value, iterable):
for item in iterable:
if value is item or value == item:
return True
return False

Чтобы сделать использование функции более практичным, рассмотрим следующий пример:

>>> numbers = [1, 2, 3, 4, 5]
>>> value = 3
>>> is_member(value, numbers)
True
>>> value = 6
>>> is_member(value, numbers)
False

В этом примере мы создаем список numbers и проверяем, находится ли значение 3 в этом списке. В результате мы получаем True. Затем мы проверяем, находится ли значение 6 в том же списке, и получаем False.

Однако существует более простой способ выполнить тест на принадлежность в Python с использованием операторов in и not in. Давайте рассмотрим их подробнее.

Использование операторов in и not in с различными типами данных

Оператор in позволяет вам проверить, присутствует ли значение в коллекции значений, в то время как оператор not in позволяет вам проверить, отсутствует ли значение в коллекции значений.

У этих операторов есть синтаксис:

value in iterable # оператор in
value not in iterable # оператор not in

Где value - значение, которое вы хотите проверить, а iterable - коллекция значений, в которой вы ищете это значение.

Давайте рассмотрим несколько примеров, чтобы лучше понять, как работают эти операторы с различными типами данных.

Списки, кортежи и диапазоны

Предположим, у вас есть список чисел:

numbers = [1, 2, 3, 4, 5]

Вы можете использовать оператор in, чтобы проверить, присутствует ли значение в этом списке:

2 in numbers # True
6 in numbers # False

То же самое можно сделать с помощью оператора not in:

2 not in numbers # False
6 not in numbers # True

Операторы in и not in также работают с кортежами и диапазонами.

Содержание

Remove ads

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

В данном руководстве вы узнаете, как:

  • выполнять тесты на принадлежность с помощью операторов in и not in
  • использовать операторы in и not in с различными типами данных
  • работать с функцией operator.contains(), эквивалентной оператору in
  • предоставлять поддержку операторам in и not in в собственных классах

Начало работы с тестами на принадлежность в Python

Иногда вам нужно определить, присутствует ли значение в коллекции значений или нет. Другими словами, вам нужно проверить, является ли заданное значение элементом коллекции или нет. Этот тип проверки известен как тест на принадлежность.

Рассмотрим следующую функцию is_member():

def is_member(value, iterable):
for item in iterable:
if value is item or value == item:
return True
return False

Чтобы сделать использование этой функции более практичным, рассмотрим следующий пример:

numbers = [1, 2, 3, 4, 5]
value = 3
is_member(value, numbers) # Возвращает True
value = 6
is_member(value, numbers) # Возвращает False

В этом примере мы создаем список чисел numbers и проверяем, находится ли значение 3 в этом списке. Результатом будет True. Затем мы проверяем, находится ли значение 6 в том же списке, и результатом будет False.

Однако существует более простой способ выполнить тест на принадлежность в Python с использованием операторов in и not in. Давайте рассмотрим их подробнее.

Использование операторов in и not in с различными типами данных

Оператор in позволяет вам проверить, присутствует ли значение в коллекции значений, в то время как оператор not in позволяет вам проверить, отсутствует ли значение в коллекции значений.

У этих операторов есть следующий синтаксис:

value in iterable # оператор in
value not in iterable # оператор not in

Где value - значение, которое вы хотите проверить, а iterable - коллекция значений, в которой вы выполняете поиск этого значения.

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

Списки, кортежи и диапазоны

Предположим, у вас есть список чисел:

numbers = [1, 2, 3, 4, 5]

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

2 in numbers # Возвращает True
6 in numbers # Возвращает False

То же самое можно сделать с помощью оператора not in:

2 not in numbers # Возвращает False
6 not in numbers # Возвращает True

Операторы in и not in также работают с кортежами и диапазонами.