В Python существует два разных подхода к проверке того, находится ли данная пара наборов в отношении надмножества или нет:
- метод issuperset
- >= оператор
Что такое функция issuperset() в Python?
Set issuperset() — это встроенная функция Python, которая возвращает True, если в множестве есть все элементы другого множества (переданного в качестве аргумента). Если нет, возвращается False. Множество A называется супермножеством множества B, если все элементы B принадлежат A.
Прежде чем изучать метод Python issuperset(), мы должны разобраться с Superset. Если все значения одного набора присутствуют в другом наборе, то второй набор называется надмножеством первого набора.
Давайте поймем разницу между подмножеством и надмножеством на примере:

Рассмотрим это изображение, есть два набора: A={1,2,4} и B={1,2,3,4,5}. Мы видим, что все элементы множества A присутствуют в множестве B. Итак, здесь B называется надмножеством множества A. Кроме того, множество A называется подмножеством множества B.
Метод Python set issuperset() помогает нам определить, является ли набор надмножеством другого набора или нет.
Метод issuperset() принимает итерируемый объект(список, кортеж, словарь, набор и строку) в качестве аргумента; если передается итерируемый объект, отличный от набора, он сначала преобразует итерируемый объект в объект набора, а затем проверяет, все ли элементы набора(переданного в качестве аргумента) также присутствуют в наборе(для которого вызывается метод issuperset).
Если да, то возвращается True; в противном случае False.
Синтаксис
|
1 |
First_Set.issuperset(Second_Set) |
Аргументы
Здесь этот синтаксис будет проверять, является ли First_Set надмножеством Second_Set или нет.
Возвращаемое значение
Функция issuperset() возвращает два типа значений:
- True: если First_Set является надмножеством Second_Set
- False: если First_Set не является надмножеством Second_Set.
См. следующий код.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# app.py # Declaring two sets # Even nums between 2 and 10 set1 = {2, 4, 6, 8, 10} # Multiple of 4 from 4 to 10 set2 = {4, 8} # Multiple of 4 from 4 to 20 set3 = {4, 8, 12, 16, 20} # priting both the sets print("Set1 is: ", set1) print("Set2 is : ", set2) print("Set3 is: ", set3) # Now we will find if they are disjoint print("Is Set1 Superset of Set2? ", set1.issuperset(set2)) print("Is Set1 Superset of Set3? ", set1.issuperset(set3)) |
Вывод:
|
1 2 3 4 5 |
Set1 is: {2, 4, 6, 8, 10} Set2 is : {8, 4} Set3 is: {4, 8, 12, 16, 20} Is Set1 Superset of Set2? True Is Set1 Superset of Set3? False |
В этой программе мы объявили три набора: Set1, содержащий четные числа от 1 до 10, Set2, содержащий числа, кратные 4, от 4 до 10; и Set3, который включает в себя кратное 4 от 4 до 20.
Теперь мы выясняем, является ли Set1 надмножеством Set2 или нет. Итак, мы видим, что все элементы Set2 присутствуют в Set1. Итак, Set1 является надмножеством Set2.
С другой стороны, мы видим, что не все элементы присутствуют в Set1 или Set3, поэтому Set1 не является надмножеством Set3. Вот почему возвращаемое значение равно False.
