Сообщить об ошибке.

Метод set.issubset() в Python, вхождение элементов в множество

Проверяет наличие всех элементов множества в последовательности

Синтаксис:

# Метод
set.issubset(other)

# Математический оператор
set1 <= set2

Параметры:

Возвращаемое значение:

Описание:

Метод set.issubset() позволяет проверить находится ли каждый элемент множества set в последовательности other. Метод возвращает True, если множество set является подмножеством итерируемого объекта other, если нет, то вернет False.

Метод set.issubset() принимает в качестве аргумента other любой объект поддерживающий итерацию по своим элементам. Это может быть список, кортеж, список ключей словаря, другое множество и т.д.

Для проверки на подмножество можно использовать математический оператор <= (меньше или равно), но при этом оба проверяемых объекта должны быть множествами frozenset или set. Если это условие не выполнено поднимается исключение TypeError.

Эта операция поддерживается как неизменяемым frozenset, так изменяемым множеством set.

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

>>> set_x = {0, 1, 2, 3, 4}
>>> list_y = [4, 0, 3, 1] 
# Использование метода
>>> set_x.issubset(list_y)
# False

# Использование оператора '<=', при этом
# оба объекта должны быть множествами
>>> set_x <= list_y
# Traceback (most recent call last):
#   File "<stdin>", line 1, in <module>
# TypeError: '<=' not supported between instances of 'set' and 'list'

>>> set_x <= set(list_y)
# False

>>> list_y.append(2)
>>> set_x.issubset(list_y)
# True

>>> set_x <= frozenset(list_y)
# True

>>> list_y.append(5)
>>> set_x <= set(list_y)
# True

>>> set_x
# {0, 1, 2, 3, 4}
>>> list_y
# [4, 0, 3, 1, 2, 5]