Симметрическая разность множеств — это одна из распространенных операций над множествами. Это математическое явление, однако оно широко применяется и в программировании, особенно при работе с какой-то информацией, хранимой в словарях, списках, массивах и др.
Симметрическая разность — это множество, полученное при сравнении двух других множеств. В него входят элементы, которые присутствуют только в первом множестве и только во втором множестве. То есть из первого множества вычитают второе, а из второго — первое, а остаток, полученный в обоих вычитаниях, и есть симметрическая разность этих двух множеств.
Симметрическая разность множеств и другие операции над множествами
Рассмотрим, как выглядит симметрическая разность множеств на деле. Представим, что у нас есть 2 множества стран, которые посетили Дормидонт и Платон. Давайте вычислим симметрическую разность этих множеств. Вот как это выглядит:
>>> visited_by_dormidont = {'Франция', 'Великобритания', 'Германия'}
>>> visited_by_platon = {'Россия', 'Франция', 'Германия'}
>>> visited_by_dormidont ^ visited_by_platon
Симметрическая разность этих множеств будет: {'Великобритания', 'Россия'}
Другие операции над множествами
Симметрическая разность множеств — это не единственная операция над множествами. Чуть ниже приведем еще несколько операций.
Пересечение множеств
Пересечение множеств — это операция, которая вычисляет элементы множеств, присутствующие в обоих множествах. Для примера опять возьмем страны, посещенные Дормидонтом и Платоном. Вот как это выглядит:
>>> visited_by_dormidont = {'Франция', 'Великобритания', 'Германия'}
>>> visited_by_platon = {'Россия', 'Франция', 'Германия'}
>>> visited_by_dormidont & visited_by_platon
Результат пересечения будет следующим: {'Франция', 'Германия'}
Объединение множеств
При объединении множеств в программировании происходит создание нового множества. В новом множестве будут содержаться все оригинальные элементы от двух объединяемых множеств. Рассмотрим, как происходит объединение множеств, на нашем примере с Дормидонтом и Платоном:
>>> visited_by_dormidont = {'Франция', 'Великобритания', 'Германия'}
>>> visited_by_platon = {'Россия', 'Франция', 'Германия'}
>>> visited_by_dormidont | visited_by_platon
В результате объединения множеств получим следующий результат: {'Россия', 'Франция', 'Германия', 'Великобритания'}
Проверка на равенство
Очень часто множества проверяют на равенство. Проверка может быть строгой и нестрогой. Уровень и качество проверки очень сильно зависят от возможностей самого языка. Во многих языках можно реализовать проверку на равенство разных типов данных и структур данных. Например:
числа,
строки,
булевы значения,
кортежи,
списки,
массивы,
словари,
и др.
В Python проверка множеств происходит очень лояльно. При проверкеневажен будет порядок элементов в множестве, а также операции, совершаемые над элементами. Важно их наличие. Причем в одном множестве могут сочетаться разные типы данных.
Заключение
Сегодня мы показали, что симметрическая разность множеств — это новое множество, которое получается из остатков вычитания двух множеств, где вычитают сначала одно множество из другого, а потом наоборот. Также мы показали, какие еще операции можно проводить над множествами. Сегодня в примерах мы использовали язык программирования Python. В следующих статьях мы покажем, как выглядят операции над множествами в других языках программирования.
Другое