Множества в Python

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

Объединение множеств

Предположим, у нас есть два множества, А и В. Объединение этих двух множеств — это множество со всеми элементами обеих множеств. Такая операция выполняется при помощи функции Python под названием union().

с = a.union(b)  
При выполнении операции объединения, дубликаты игнорируются, так что только один из двух элементов дубликатов будет отображаться.
Оператор | может также использоваться при поиске объединения двух или более множеств.
с=a|b|d

Пересечение множеств

Предположим, у вас есть два множества: А и В. Их пересечение представляет собой множество элементов, которые являются общими для А и для В.

Операция пересечения во множествах может быть достигнута как при помощи оператора &, так и метода intersection().
с=a&d

Разница между множествами

Предположим, у вас есть два множества: А и В. Разница между А и В (А — В) — это множество со всеми элементами, которые содержатся в А, но не в В. Соответственно, (В — А) — это множество со всеми элементами в В, но не в А.

Для определения разницы между множествами в Python, мы можем использовать как функцию difference(), так и оператор — .
с=a-d
Симметричная разница между множествами А и В — это множество с элементами, которые находятся в А и В, за исключением тех элементов, которые являются общими для обеих множеств. Это определяется использованием метода Python под названием symmetric_difference(), или оператора ^.
с=a^d

Сравнение множеств

Мы можем сравнить множества в зависимости от того, какие элементы в них содержатся. Таким образом, мы можем сказать, является ли множество родительским, или дочерним от другого множества. Результат такого сравнения будет либо True, либо False.

Чтобы проверить, является ли множество А дочерним от В, мы можем выполнить следующую операцию:
A<=B

Чтобы узнать является ли множество В дочерним от А, мы можем выполнить следующую операцию, соответственно:
A>=B
Дочернее и родительское множество может также быть проверено при помощи методов issubset() и issuperset(), как показано ниже: