Существуют следующие методы проверки наличия элемента в наборе в Python.
Способ 1: использование оператора «in»
Чтобы проверить, содержит ли Set элемент в Python, вы можете использовать оператор «in», который возвращает True, если указанный Set содержит элемент, и False в противном случае. Оператор «in» проверяет, находится ли элемент в последовательности, такой как список, диапазон, строка или набор.
|
1 2 3 4 5 |
first_set = {11, 19, 21} el_in_set = 19 in first_set print(el_in_set) |
Выход
|
1 |
True |
Он возвращает True, потому что 19 включено в Set.
Проверьте наличие элемента 46 в существующем наборе и посмотрите результат.
|
1 2 3 4 5 |
first_set = {11, 19, 21} el_in_set = 46 in first_set print(el_in_set) |
Выход
|
1 |
False |
Мы получили False, потому что Set не содержит элемент «46».
Способ 2: использование оператора «not in»
Оператор «not in» в Python работает противоположно оператору in. Оператор «not in» проверяет наличие заданного значения внутри заданной последовательности, но его возвращаемые значения противоположны значениям оператора «in».
|
1 2 3 4 5 |
first_set = {11, 19, 21} el_in_set = 46 not in first_set print(el_in_set) |
Выход
|
1 |
True |
Он возвращает True, потому что Set не содержит 46. Поэтому оператор not in возвращает True, потому что его нет в Set. Давайте возьмем пример, когда элемент существует в наборе, и посмотрим на результат.
|
1 2 3 4 5 |
first_set = {11, 19, 21} el_in_set = 11 not in first_set print(el_in_set) |
Выход
|
1 |
False |
И он возвращает False, что правильно, поскольку в наборе существует 11.
Способ 3: применение функции Counter()
Counter — это метод подкласса dict и модуля коллекций, используемый для подсчета вхождений элементов в итерируемом объекте. Он может помочь подсчитать элементы, особенно если у вас много элементов, которые либо повторяются, либо уникальны.
|
1 2 3 4 5 6 7 8 9 |
from collections import Counter set = {21, 19, 18, 11, 46} element_dict = Counter(set) print(21 in element_dict.keys()) print(20 in element_dict.keys()) print(19 in element_dict.keys()) |
Выход
|
1 2 3 |
True False True |
Во-первых, мы объявили множество из пяти элементов. Используя функцию Counter(), мы преобразовали набор в словарь и проверили, существуют ли ключи словаря, используя метод dict.keys().
Таким образом, мы можем проверить, существует ли элемент множества, не используя какой-либо встроенный оператор. Сложность времени равна O(N), а сложность вспомогательного пространства равна O(N).
Заключение
Лучший и наиболее эффективный способ проверить, содержит ли множество элемент, — использовать оператор «in» в Python.
