Python. Операции и функции для определения надмножеств и подмножеств. Сравнение множеств

Операции и функции для определения надмножеств и подмножеств. Сравнение множеств


Содержание


1. Операции >, >=. Надмножество. Пример

Операции >, >= предназначены для определения того, есть ли заданное множество надмножеством над другим. Результатом операций есть значение True или False.

Общая форма операции > следующая

set1 > set2

где

  • set1 – множество, которое рассматривается как надмножество. Если все элементы множества set2 есть в множестве set1 и set1!=set2 (множества не равны), то результат операции равен True. В противном случае результат операции равен False;
  • set2 – множество, которое рассматривается как подмножество.

Общая форма операции >= следующая

set1 >= set2

где set1, set2 – множества, которые рассматриваются соответственно как надмножество и подмножество.

Операция >= возвращает True, если выполняется одно из условий:

  • все элементы множества set2 входят в множество set1;
  • set1==set2 (множества равны).

В операциях >, >= множества не могут быть пустыми.

Пример.

# Множества
# 1. Операция >. Определение, есть ли множество надмножеством
x = { 1, 2, 3 }
y = { 2 }
f = x > y # f = True

x = { 'а', 'b', 'с' }
y = { 'а', 'b', 'с' }
f = x > y # f = False - множества равны

x = { 1, 2, 3 }
y = { 1, 4 }
f = x > y # f = False

# 2. Операция >=. Учет условия равенства множеств

x = { 1, 2, 3 }
y = { 1, 2, 3 }
f = x >= y # f = True

x = { 'abc', True, 5.66 }
y = { True, 5.66 }
f = x >= y # f = True

 

2. Операции <, <=. Подмножество. Пример

Операции <, <= предназначены для определения того, есть ли данное множество подмножеством другого. Разница между операциями < и <= возникает в случае, когда сравниваемые множества равны между собой. Если множества равны, то операция < возвращает значение False, а операция <= возвращает значение True.

Общая форма операции < следующая

set1 < set2

где

  • set1 – множество, которое рассматривается как подмножество. Если все элементы множества set1 помещаются в множестве set2 и множества не равны (set1!=set2), тогда результат операции равен True;
  • set2 – множество, которое рассматривается как надмножество.

Общая форма операции <= следующая

set1 <= set2

где set1, set2 непустые множества, которые рассматриваются как подмножество и надмножество.

Результат операции <= равен True, если выполняется одно из условий:

  • все элементы множества set1 входят в множество set2;
  • множества равны (set1==set2).

В операциях <, <= множества не могут быть пустыми.

Пример.

# Множества
# 1. Операция <. Определение, есть ли множество подмножеством
x = { 1, 2, 3 }
y = { 1, 3, 5, 2, 8, 9 }
f = x < y # f = True

x = { 5 }
y = { 2, 'b', 7.20 }
f = x < y # f = False

# 2. Операция <=. Учет условия равенства множеств

x = { 2.8, 2.9, 3.2 }
y = { 2.9, 3.2, 2.8 }
f = x <= y # f = True - множества равны

x = { 'a', 'c', 'd' }
y = { 'c', 'a' }
f = x <= y # f = False

 

3. Операции сравнения множеств ==, !=. Пример

Операции ==, != используются для сравнения множеств на равенство/неравенство. Результатом операций есть значение True или False.

Общая форма операции проверки на равенство == следующая

set1 == set2

где

  • set1, set2 – множества, которые сравниваются на равенство. Если множества равны, то возвращается True, в противном случае возвращается False.

Общая форма операции проверки на неравенство != следующая

set1 != set2

где

  • set1, set2 – множества, которые сравниваются на неравенство. Если множества неравны, то возвращается True, в противном случае возвращается False.


Пример 1. Использование операции == (равенство множеств).

# Множества
# Операция ==. Сравнение множеств на равенство
x = { 1, 2, 3 }
y = { 1, 3, 2 }
f = x == y # f = True
print('f = ', f)

# Определение, равенства множеств в операторе if
x = { 'a', 'b', 'c', 'd' }
y = { 'b', 'a', 'c' }

if x==y:
    print("Sets are equals.")
else:
    print("Sets are not equals.")

Результат выполнения программы

f = True
Sets are not equals.

Пример 2. Использование операции != (сравнение на неравенство).

# Множества
# Операция !=. Сравнение множеств на неравенство

# Использование в операторе if
x = set('hello')
y = { 'h', 'e', 'l', 'o' }

print('x = ', x)
print('y = ', y)

if x!=y:
    print("Sets are not equals.")
else:
    print("Sets are equals.")

Результат выполнения программы

x = {'h', 'l', 'e', 'o'}
y = {'h', 'l', 'e', 'o'}
Sets are equals.

 

4. Функция issubset(). Определение подмножества

Функция issubset() предназначена для определения того, есть ли текущее множество подмножеством другого. Общая форма объявления функции следующая

set.issubset(other)

где

  • set – текущее множество;
  • other – другое множество которое сравнивается на вхождение с множеством set.

Функция issubset() возвращает значение True, если выполняется одно из условий:

  • множество set есть подмножеством множества other. Иными словами, все элементы множества set есть в множестве other;
  • множества set и other равны между собой.

В других случаях функция issubset() возвращает значение False. Функция issubset() может быть заменена операцией <=.

Пример.

# Множества
# Функция issubset() - определение подмножества
x = { 2, 3, 4 }
y = { 3, 4 }
f1 = x.issubset(y) # f1 = False
f2 = y.issubset(x) # f2 = True

 

5. Функция issuperset(). Определение надмножества

Функция issuperset() определяет, есть ли текущее множество надмножеством над другим. Общая форма объявления функции следующая

set.superset(other)

где

  • set – текущее множество;
  • other – другое множество, которое сопоставляется с множеством set. Если set есть надмножеством над other, то функция возвращает True. В противном случае функция возвращает False.

Функция issuperset() может быть заменена операцией >=.

Пример.

# Множества
# Функция issuperset() - определение надмножества
x = { 2, 4, 6, 8 }
y = { 2, 8 }
f1 = x.issuperset(y) # f1 = True
f2 = y.issuperset(x) # f2 = False

 


Связанные темы