В этом уроке по Python, мы рассмотрим метод множества - issubset()
. Данный метод позволяет проверить наличие элементов множества в другой последовательности и возвращает как результат значение bool.
Синтаксис:
sets.issubset(other)
Аргументы:
other
- любая последовательность, поддерживающая итерация, например: кортеж, список, строка, список ключей словаря.sets
- неизменяемое или изменяемое множество.
Метод set.issubset()
позволяет вам проверить, находится ли каждый элемент множества в последовательности друг друга. Метод возвращает True, если множество являются подмножеством итерируемого объекта other
, в противном случае он возвращает False.
Пример:
# Задаем множество
set_x = {1, 3, 5, 7, 9}
# Задаем неизменяемое множество
fset_x = frozenset({2, 4, 6, 8, 10})
# Задаем список
list_y = [1, 3, 5, 7, 9]
# Задаем кортеж
tuple_z = (2, 4, 6, 8, 10)
# Проверка множества со списком
print(set_x.issubset(list_y))
# Проверка множества с кортежем (разные.значения)
print(set_x.issubset(tuple_z))
# Проверка неизменяемого множества со списком (разные.значения)
print(fset_x.issubset(list_y))
# Проверка неизменяемого множества с кортежем
print(fset_x.issubset(tuple_z))
Результаты:
>>> True
>>> False
>>> False
>>> True
Также можно проверить подмножество с помощью оператора <= (меньше, или равно). Но необходимо, чтобы сравнивались именно два множества, неизменяемых или изменяемых, иначе получите ошибку: TypeError: '>=' not supported between instances of 'set' and 'list'
# Проверка множества с помощью оператора >= со списком, преобразованным в множество
print(set_x >= set(list_y))
# Проверка неизменяемого множества с помощью оператора >= с кортежем, преобразованным в множество
print(fset_x >= set(tuple_z))
Результаты:
>>> True
>>> True
Таким образом, вы можете проверять и сравнивать, одинаковы ли последовательности множества и подмножества, или нет.