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

Обложка к статье "Операции с множествами в Python"

Множества (sets) в Python представляют собой неупорядоченные коллекции уникальных элементов. Они предоставляют мощные инструменты для выполнения различных операций над коллекциями данных. В этой статье мы рассмотрим все основные операции с множествами в Python, включая объединение, пересечение, разность, симметрическую разность, а также методы для проверки подмножеств, надмножеств и другие полезные функции.

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

Объединение двух или более множеств возвращает новое множество, содержащее все уникальные элементы из всех исходных множеств.

Использование метода union()

# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}

# Объединение множеств
union_set = set1.union(set2)

# Вывод результата
print(union_set)  # Вывод: {1, 2, 3, 4, 5}

Использование оператора |

# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}

# Объединение множеств
union_set = set1 | set2

# Вывод результата
print(union_set)  # Вывод: {1, 2, 3, 4, 5}

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

Пересечение возвращает новое множество, содержащее только те элементы, которые присутствуют во всех исходных множествах.

Использование метода intersection()

# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}

# Пересечение множеств
intersection_set = set1.intersection(set2)

# Вывод результата
print(intersection_set)  # Вывод: {3}

Использование оператора &

# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}

# Пересечение множеств
intersection_set = set1 & set2

# Вывод результата
print(intersection_set)  # Вывод: {3}

Разность множеств

Разность возвращает новое множество, содержащее элементы, которые присутствуют в одном множестве, но отсутствуют в другом.

Использование метода difference()

# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}

# Разность множеств
difference_set = set1.difference(set2)

# Вывод результата
print(difference_set)  # Вывод: {1, 2}

Использование оператора -

# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}

# Разность множеств
difference_set = set1 - set2

# Вывод результата
print(difference_set)  # Вывод: {1, 2}

Симметрическая разность множеств

Симметрическая разность возвращает новое множество, содержащее элементы, которые присутствуют в одном из множеств, но не в обоих одновременно.

Использование метода symmetric_difference()

# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}

# Симметрическая разность множеств
symmetric_difference_set = set1.symmetric_difference(set2)

# Вывод результата
print(symmetric_difference_set)  # Вывод: {1, 2, 4, 5}

Использование оператора ^

# Создание двух множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}

# Симметрическая разность множеств
symmetric_difference_set = set1 ^ set2

# Вывод результата
print(symmetric_difference_set)  # Вывод: {1, 2, 4, 5}

Проверка подмножеств и надмножеств

Метод issubset()

Проверяет, является ли одно множество подмножеством другого.

# Создание двух множеств
set1 = {1, 2, 3}
set2 = {1, 2}

# Проверка, является ли set2 подмножеством set1
is_subset = set2.issubset(set1)

# Вывод результата
print(is_subset)  # Вывод: True

Метод issuperset()

Проверяет, является ли одно множество надмножеством другого.

# Создание двух множеств
set1 = {1, 2, 3}
set2 = {1, 2}

# Проверка, является ли set1 надмножеством set2
is_superset = set1.issuperset(set2)

# Вывод результата
print(is_superset)  # Вывод: True

Метод isdisjoint()

Проверяет, не пересекаются ли два множества (то есть не имеют общих элементов).

# Создание двух множеств
set1 = {1, 2, 3}
set2 = {4, 5, 6}

# Проверка, не пересекаются ли множества
are_disjoint = set1.isdisjoint(set2)

# Вывод результата
print(are_disjoint)  # Вывод: True

Изменение множеств

Добавление элементов

Метод add() добавляет элемент в множество. Если элемент уже присутствует, то он не добавляется повторно.

# Создание множества
my_set = {1, 2, 3}

# Добавление нового элемента
my_set.add(4)

# Вывод результата
print(my_set)  # Вывод: {1, 2, 3, 4}

Удаление элементов

Метод remove()

Удаляет элемент из множества. Если элемент не найден, вызывается ошибка KeyError.

# Создание множества
my_set = {1, 2, 3}

# Удаление элемента
my_set.remove(2)

# Вывод результата
print(my_set)  # Вывод: {1, 3}

Метод discard()

Удаляет элемент из множества. Если элемент не найден, ошибка не вызывается.

# Создание множества
my_set = {1, 2, 3}

# Удаление элемента
my_set.discard(2)
my_set.discard(4)  # Ошибка не вызывается

# Вывод результата
print(my_set)  # Вывод: {1, 3}

Метод pop()

Удаляет и возвращает произвольный элемент из множества. Если множество пустое, вызывается ошибка KeyError.

# Создание множества
my_set = {1, 2, 3}

# Удаление произвольного элемента
popped_element = my_set.pop()

# Вывод результата
print(popped_element)  # Примерный вывод: 1
print(my_set)  # Примерный вывод: {2, 3}

Очистка множества

Метод clear() удаляет все элементы из множества.

# Создание множества
my_set = {1, 2, 3}

# Очистка множества
my_set.clear()

# Вывод результата
print(my_set)  # Вывод: set()

Оцените статью
( Пока оценок нет )
Обучение Python
Добавить комментарий