Операции над множествами

В этом примере посмотрим, как выполнить основные операции над множествами в Python: объединение, пересечение, разность и симметрическую разность.

Что нужно знать

Перед изучением примера полезно понимать:

Описание задачи

В Python есть тип данных set (множество), элементы которого должны быть уникальными. На множествах удобно выполнять стандартные математические операции: объединение, пересечение, разность и симметрическую разность.

Исходный код

# Program to perform different set operations like in mathematics

# define three sets
E = {0, 2, 4, 6, 8};
N = {1, 2, 3, 4, 5};

# set union
print("Union of E and N is",E | N)

# set intersection
print("Intersection of E and N is",E & N)

# set difference
print("Difference of E and N is",E - N)

# set symmetric difference
print("Symmetric difference of E and N is",E ^ N)

Вывод

Union of E and N is {0, 1, 2, 3, 4, 5, 6, 8}
Intersection of E and N is {2, 4}
Difference of E and N is {8, 0, 6}
Symmetric difference of E and N is {0, 1, 3, 5, 6, 8}

Как это работает

В программе создаются два множества E и N, после чего на них выполняются основные операции:

  • | — объединение: все элементы из обоих множеств.

  • & — пересечение: только элементы, общие для обоих.

  • - — разность: элементы из E, которых нет в N.

  • ^ — симметрическая разность: элементы, входящие ровно в одно из множеств.

Те же действия можно выполнить и методами объектов set.