# Метод
sets.issubset(other)
# Математический оператор
sets1 <= sets2
other
- любой объект поддерживающий итерацию (кортеж, символ или подстрока).sets
, sets1
и sets2
- множество frozenset
или set
.Метод sets.issubset()
позволяет проверить находится ли каждый элемент множества sets
в последовательности other
. Метод возвращает True
, если множество sets
является подмножеством итерируемого объекта other
, если нет, то вернет False
.
Метод sets.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]