Объединение множеств знакомо каждому человеку. Оно встречается в математике. Программирование тоже «знакомо» с ним. Зная это, удается создавать качественный софт. Особенно тогда, когда речь заходит о сортировке или соединении.
В данной статье будет более подробно рассмотрены «массивы», а также операции над ними. В качестве базового языка используется Python. Он является одним из наиболее простых вариантов создания утилит.
Определение
Рассматриваемый компонент – это некая неупорядоченная совокупность уникальных неупорядоченных значений. Компонентами выступают любые некорректируемые объекты:
- числа;
- строки;
- символы.
Объединение множеств – простая операция. Но об этом позже. Отличительная их черта от массивов и списков – здесь не учитывается порядок следования значений.
Как создать
Перед рассмотрением объединения множеств их необходимо сначала создать. Сделать это удается присвоением переменной последовательности значений. «Перечень» указывается в {}.
Вот – пример, позволяющий создать множество целых чисел a. После – вывод содержимого на дисплей задействованного устройства:
Каждый элемент множества в последовательности уникален. Он не повторяется. Есть и такой способ создания соответствующего элемента кода, при котором применяется метод set. Аргументом в функции выступает набор данных или строчка с текстом. Вот пример:
Результат обработки исходного кода: заполнение нового массива уникальными символами из первоначально заданной строчки.
Генератор
Перед рассмотрением объединения множеств и иных операций над соответствующим «массивом данных», стоит изучить генераторы. Он дает возможность заполнять списки, а также иные наборы информации с учетом заданных заблаговременно условий.
В Питоне для этого используется цикл for:
Сортировка
Последовательность компонентов у мно жест в Python не принимается во внимание при работе в коде. Но для того, чтобы быстро найти необходимый элемент, нужно пользоваться сортировкой. С объединением множеств тут ничего общего.
Сначала стоит рассмотреть ситуацию, при которой компоненты имеют разные типы данных в пределах «массива информации». Они не сортируются. При print появится следующая запись:
При повторном запуске порядок поменяется. Это требуется тогда, когда компоненты разного типа перемешаны. Если же вывести только числа, получится такая ситуация:
Произошло упорядочивание информации. Если преобразовать результат в список, на экране появится надпись:
Стоит обратить внимание на следующие особенности:
- Элементы будут храниться в памяти в упорядоченном виде, если они относятся к одному типу.
- Для того, чтобы получить отсортированный список, лучше применять функцию sort. После объединение множеств будет упрощено.
- Sort позволяет стопроцентно упорядочить информацию. Эта функция сделает код более понятным.
Теперь можно рассмотреть объединение множеств, а также иные операции над ними. Все это пригодится как новичку, так и опытному разработчику. База, без которой полноценное программирование не представляется возможным.
Операции
Можно выполнять различные действия не только с элементами мно жеств. Программирование позволяет управлять несколькими подобными «массивами данных». Для этого применяются разнообразные операции.
Объединение
Объединение двух множеств является базовой манипуляцией. Это – самый простой вариант. Результат объединения множеств a и b – это «массив неупорядоченных данных», который содержит в себе все компоненты, входящие в a и b соответственно.
Объединение между двумя множествами осуществляется:
- через оператор |;
- при помощи метода union().
Объединение множеств на картинке будет выглядеть так:
А вот объединение в виде программного кода. Пользователь может воспользоваться | для реализации поставленной задачи:
В консоли при выводе результата, который «объединили», появится:
А вот объединение, которое реализовано через функцию под названием union:
Пересечение
Объединение и пересечение – операции в математике, с которыми знакомятся еще во время обучения в школе. При пересечении результатом будет выступать «массив данных», который включает в себя компоненты, находящиеся сразу в двух множествах.
Реализация осуществляется через:
- оператор &;
- метод intersection.
Визуальное отличие соответствующей манипуляции от объединения можно четко представить. На изображении ниже – результат пересечения:
А вот – представление в программировании:
Разность
Когда пересечение множеств и объединение позади, можно рассмотреть иные варианты операций. Пример – разность.
Результатом разности двух множеств выступает «массив», в котором содержатся элементы, относящиеся только к одному из них. А именно – к первому. Реализация осуществляется при помощи:
- оператора — ;
- метода difference.
А вот – наглядный графический пример и коды, которые помогут добиться желаемого результата:
Симметрическая разность
При симметрической разности результатом называется «массив», которое включает в себя компоненты из обоих «массивов», но не те, что есть сразу в обоих. Здесь будет исключаться только пересечение.
Реализация:
- при помощи ^;
- через symmetric difference.
Наглядно ситуация выглядит так:
Добавление
Пересечение и объединение – это « только общее» или «сразу все». Есть еще и так называемое добавление. Оно помогает добавить все компоненты одного «массива» к другому. Для этого используется на первом объекте метод update.
Пустые «перечни»
Отдельное внимание стоит уделить пустым множествам. Это «массивы», которые «ничего не содержат». Для работы с ними лучше всего использовать set().
В математике пустым множеством называется «массив», которое не содержит ни одного элемента. Аксиома объемности указывает на то, что есть только один «массив» с подобным свойством. Выступает такой компонент в качестве своего тривиального подмножества. А вот своим элементом не является.
При объединении пустого множества a с b результатом будет служить последний «массив информации».
Отношения
Еще один момент, на который необходимо обратить внима ние – это отношения между «массивами». Для того, чтобы определять подмножества и надмножества, используются специальные функции. Они возвращают True или False. Итог зависит от результата обработки «команды».
Подмножество
Разбираясь я объединением множеств и иными операциями, нужно обратить внимание на подмножества. Для того, чтобы определить, является ли «массив» a подмножеством b, нужно вывести на экран результат обработки метода issubset.
Здесь не все компоненты из a присутствуют в b. Подобная ситуация вернет значение False.
Надмножество
При пересечении и объединении обычно не происходит вывод «истины» и «лжи» — только нового набора данных. Чтобы понять, является ли a надмножеством b, необходимо:
- вызвать метод под названием issuperset;
- отобразить на экране результат работы.
Здесь true будет из-за того, что все компоненты b присутствуют в a. Что-то схожее с пересечением (с пустым множеством и не только).
Frozen
Если корректировка «массива» не предусматривается, он будет иметь тип frozen. Значения тут нельзя удалить или добавить. Значит, объединение множеств фактически невозможно. Содержимое здесь остается статичным.
Пересечение и объединение, а также иные операции можно изучить в школьной программе. А лучше – закончить онлайн курсы по соответствующему направлению. Там объяснят, как называется «массив», который принадлежит хотя бы одному из заданных множеств и многое другое.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!
Также, возможно, вам будет интересен следующий курс: