Python: Проверка наличия элемента в списке

В этом уроке вы узнаете, как использовать Python для проверки наличия элемента в списке. Другими словами, вы узнаете, существует ли элемент в списке Python. Умение определять, содержит ли список Python определенный элемент, является важным навыком при составлении условных выражений. Например, если вы разрабатываете веб-приложение, вам может понадобиться проверить, выбрал ли пользователь уже несколько значений. В противном случае, если вы разрабатываете игру, вы можете захотеть проверить, есть ли у пользователя разные предметы в его инвентаре.

К концу этого учебника вы научитесь проверять наличие элемента в списке. Вы узнаете, как делать это с помощью ключевого слова in, а также проверять, если элемент не существует в списке с помощью ключевого слова not in. Вы также узнаете, как проверить, содержит ли список элемент с помощью функции Python any() и функции count(). Наконец, вы познакомитесь с некоторыми наивными реализациями проверки членства в списке, такими как циклы for и генераторы списков.

Оглавление

Проверьте, содержит ли список Python элемент, используя in

Один из самых простых и питоничных способов проверить наличие элемента в списке Python — использовать ключ in. Технически, ключевое слово in выполняет две функции:

  1. Чтобы проверить, является ли элемент членом списка, и

  2. Перебирать элементы в цикле for

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

# Проверка наличия элемента в списке Python
items = ['bemind.gitbook.io', 'apples', 'bananas']

if 'bemind.gitbook.io' in items:
    print('Элемент существует!')

# Возвращает: Элемент существует!

Мы можем это сделать, написав if 'item' in items, что позволит нам проверить, существует ли что-то в нашем списке. Это действительно интуитивный способ проверить, существуют ли элементы или нет.

В следующем разделе вы узнаете, как с помощью Python проверить отсутствие элемента.

Проверьте, не содержит ли список Python элемент, используя not in

В этом разделе вы узнаете, как проверить, что элемент отсутствует в списке. Мы можем сделать это, отрицая ключевое слово in с помощью ключевого слова not. Подобно приведенному выше примеру, это читается как относительно простой английский. Давайте посмотрим, как мы можем использовать ключевое слово not in, чтобы убедиться, что элемента нет в списке:

# Проверка отсутствия элемента в списке Python
items = ['bemind.gitbook.io', 'apples', 'bananas']

if 'oranges' not in items:
    print("Элемент отсутствует!")

# Возвращает: Элемент отсутствует!

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

В следующем разделе вы узнаете, как проверять наличие элемента в списке Python с помощью метода .count()

Проверьте, содержит ли список Python элемент, используя счетчик

Python списки имеют множество полезных методов. Один из таких методов - это метод .count(), который подсчитывает количество появлений элемента в списке. Благодаря этому методу, мы можем определить, существует ли элемент в списке, если количество этого элемента больше 0. Если количество равно 0, то элемент не существует в нашем списке.

Посмотрим, как это выглядит:

# Проверка наличия элемента в списке Python с использованием метода .count()
items = ['bemind.gitbook.io', 'apples', 'bananas']

if items.count('bemind.gitbook.io') > 0:
    print('Элемент существует!')

# Возвращает: Элемент существует!

Если какой-либо элемент существует, количество всегда будет больше 0. Если его нет, количество всегда будет 0.

Мы можем объединить этот оператор if в одну строку. Вот как это будет выглядеть:

# Проверка наличия элемента в списке Python с использованием метода .count()
items = ['bemind.gitbook.io', 'apples', 'bananas']

print('Существует') если items.count('bemind.gitbook.io') иначе print("Не существует")

# Возвращает: Существует

В следующем разделе вы узнаете, как использовать функцию any() для проверки членства в списке Python.

Проверьте, содержит ли список Python элемент, используя любой

Функция any() в Python просматривает итерируемый объект и возвращает True, если любой из элементов в нем является True. Как можно использовать функцию any для проверки принадлежности элемента к списку в Python? Мы можем поместить comprehension внутрь функции any для проверки принадлежности. Если любой элемент будет возвращен, функция any() вернет

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

# Проверка наличия элемента в списке Python с использованием функции any()
items = ['bemind.gitbook.io', 'apples', 'bananas']

print(any(item == 'bemind.gitbook.io' for item in items))

# Возвращает: True

Принцип работы заключается в том, что в процессе выполнения comprehension будет проходить по каждому элементу списка и проверять, равен ли элемент заданному значению. Если равен, comprehension возвращает True для этого элемента. В противном случае возвращает False. Если среди значений есть хотя бы один True, функция any вернет True.

В следующем разделе вы узнаете, как использовать цикл for для проверки наличия элемента в списке.

Проверьте, содержит ли список Python элемент, используя цикл for

В этом последнем разделе вы научитесь использовать цикл for для проверки наличия элемента в списке. Мы можем перебрать каждый элемент нашего списка и проверить, соответствует ли элемент тому, что мы хотим найти. Как только элемент найден, цикл for устанавливает значение в True и прерывается.

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

# Проверка наличия элемента в списке Python с использованием цикла for
items = ['bemind.gitbook.io', 'apples', 'bananas']
exists = False
for item in items:
    if item == 'bemind.gitbook.io':
        exists = True
        break

print(exists)

# Возвращает: True

Давайте разберём, что здесь сделали:

  1. Мы создали наш список и переменную exists, которая по умолчанию установлена в False

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

  3. Если элемент равен тому, который мы хотим проверить, то мы устанавливаем exists в True и прерываем цикл for.

Заключение

В этом уроке вы узнали, как проверять наличие элемента в списке Python, то есть проверять, существует ли элемент. Вы узнали, как делать это с помощью ключевого слова in. Затем вы узнали, как проверять, что элемент не существует, с помощью ключевого слова not in. Далее вы узнали другие методы проверки наличия элемента, используя функцию any, метод .count и цикл for.

Чтобы узнать больше о ключевом слове Python in, ознакомьтесь с официальной документацией здесь. Официальная документация для функции any доступна здесь, а для метода .count она находится здесь.

Last updated